laatste 5 update's

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jasper den bleek

jasper den bleek

23/04/2012 16:27:08
Quote Anchor link
goedemiddag,

ik heb een vraagje hoe kan hij de laatste 5 update uit de datebase hallen ?

dit is wat ik in mijn database heb :
Quote:
-- Database: `my_magicalthemepark`
--

-- --------------------------------------------------------

--
-- Tabel structuur voor tabel `update`
--

CREATE TABLE IF NOT EXISTS `update` (
`info` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
 
PHP hulp

PHP hulp

24/04/2024 04:35:50
 
Q S

Q S

23/04/2012 16:45:52
Quote Anchor link
zonder een veld id of datumtijd wordt het lastig de laatste 5 updates op te halen
 
Jeroen VD

Jeroen VD

23/04/2012 16:46:46
Quote Anchor link
als alles na elkaar wordt ingevoegd een LIMIT 0,5 in je query, anders een datetime kolom toevoegen, en dan een ORDER BY dateAndTime LIMIT 0,5
 
Jasper den bleek

jasper den bleek

23/04/2012 16:49:05
Quote Anchor link
Bedankt voor jullie reactie's
ik heb nu een datetime toegevoegt maar hoe laat laat hij de laatste 5 nieuwste zien ?

dit is wat ik heb :
--
-- Database: `my_magicalthemepark`
--

-- --------------------------------------------------------

--
-- Tabel structuur voor tabel `update`
--

CREATE TABLE IF NOT EXISTS `update` (

`datum` datetime NOT NULL,
`info` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
 
Q S

Q S

23/04/2012 16:51:41
Quote Anchor link
select top 5 * from update order by datum desc
 
Jeroen VD

Jeroen VD

23/04/2012 17:09:00
Quote Anchor link
@Q S, waar komt top 5 vandaan? dat hoort niet in MySQL.

de Query die je moet hebben:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
SELECT
    text,
    datum
FROM
    update
ORDER BY
    datum DESC
LIMIT 0,5
 
Q S

Q S

23/04/2012 17:09:38
Quote Anchor link
Ow shit ja sorry, ik gebruik doorgaans alleen SQL
 
Jasper den bleek

jasper den bleek

23/04/2012 17:11:31
Quote Anchor link
maar hoe gaat de rest van de code ?
srry ben niet echt goed nog in php
 
Jeroen VD

Jeroen VD

23/04/2012 17:13:52
 
Jasper den bleek

jasper den bleek

23/04/2012 17:25:02
Quote Anchor link
ik heb nu dit maar ik blijf maar niks zien :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
 
  include('config.php');
 
 mysql_connect('localhost','*****','*****');
mysql_select_db('my_magicalthemepark') or die (mysql_error());
 
  $sql = "select top 5 * from update order by datum desc";
  $result = mysql_query($sql);
  $num = mysql_num_rows($result);
 
  while($row = mysql_fetch_array($result)){
    echo "<font size=4><b>".$row['info']."</b></font><br><font size=1>".$row['datum']."</font>";
    echo "<font size=-2> - ".$row['door']."</font><br><br>";
    echo "<font size=-1>";
    
    echo "</font>";
  }

 
  mysql_close();

?>
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

23/04/2012 17:30:27
Quote Anchor link
Het is:
SELECT datum, info FROM update ORDER BY datum LIMIT 5
 
Jasper DS

Jasper DS

23/04/2012 17:31:08
Quote Anchor link
- geen _fetch_array() gebruiken maar fetch_assoc()
- zorg voor een foutafhandeling dan weet je waar het mis loopt.

"select top 5 * " zal nooit een juist resultaat geven. top 5 bestaat niet.
 
- SanThe -

- SanThe -

23/04/2012 17:31:44
Quote Anchor link
Bouw nette foutafhandeling in, want de errors vliegen in het rond.
 
Jasper DS

Jasper DS

23/04/2012 17:32:26
 
Jasper den bleek

jasper den bleek

23/04/2012 17:34:42
Quote Anchor link
kan iemand mij alsjeblieft helpen het lukt gewoon niet
 
Jasper DS

Jasper DS

23/04/2012 17:39:16
Quote Anchor link
Lees onze tips eens.

Bekijk dit script eens aandachtig:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
    
    include('config.php');
 
    if(mysql_connect('localhost','*****','*****') === false)
    {

        echo 'fout bij verbinden db';
    }

    elseif(mysql_select_db('my_magicalthemepark') === false)
    {

        echo 'Fout bij selecteren db';
    }

    else
    {
 
        $sql =     "SELECT
                    text,
                    datum
                 FROM
                    update
                 ORDER BY
                    datum DESC
                 LIMIT 0,5
                "
;
                
        if(($result = mysql_query($sql)) === false)
        {

            echo 'Er zit een fout in je query';
        }

        elseif(($num = mysql_num_rows($result)) < 1)
        {

            echo 'Je query vond geen rows';
        }

        else
        {
            while($row = mysql_fetch_assoc($result))
            {

                echo '<font size=4><b>'.$row['info'].'</b></font><br><font size=1>'.$row['datum'].'</font>';
                echo '<font size=-2> - '.$row['door'].'</font><br><br>';
                echo '<font size=-1>';
                echo '</font>';
            }
        }
        
    }
    
?>


$row['door'] zal een error geven want dat veld word niet opgehaald / bestaat niet.
Gewijzigd op 23/04/2012 17:47:05 door Jasper DS
 
Jasper den bleek

jasper den bleek

23/04/2012 18:34:09
Quote Anchor link
PHP Jasper op 23/04/2012 17:39:16:
Lees onze tips eens.

Bekijk dit script eens aandachtig:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
    
    include('config.php');
 
    if(mysql_connect('localhost','*****','*****') === false)
    {

        echo 'fout bij verbinden db';
    }

    elseif(mysql_select_db('my_magicalthemepark') === false)
    {

        echo 'Fout bij selecteren db';
    }

    else
    {
 
        $sql =     "SELECT
                    text,
                    datum
                 FROM
                    update
                 ORDER BY
                    datum DESC
                 LIMIT 0,5
                "
;
                
        if(($result = mysql_query($sql)) === false)
        {

            echo 'Er zit een fout in je query';
        }

        elseif(($num = mysql_num_rows($result)) < 1)
        {

            echo 'Je query vond geen rows';
        }

        else
        {
            while($row = mysql_fetch_assoc($result))
            {

                echo '<font size=4><b>'.$row['info'].'</b></font><br><font size=1>'.$row['datum'].'</font>';
                echo '<font size=-2> - '.$row['door'].'</font><br><br>';
                echo '<font size=-1>';
                echo '</font>';
            }
        }
        
    }
    
?>


$row['door'] zal een error geven want dat veld word niet opgehaald / bestaat niet.


hartstikke bedankt dat je me wil helpen ik heb er naar gekeken maar hij blijf de fout : Er zit een fout in je query geven
 
Jasper DS

Jasper DS

23/04/2012 18:35:37
Quote Anchor link
Probeer er dan voor te zorgen dat je query je vertelt wat er juist scheelt. Dit kan je daarbij helpen:

 
Erwin H

Erwin H

23/04/2012 19:07:45
Quote Anchor link
"Reserved words" to the rescue....

Er bestaan woorden in SQL die een bepaalde betekenis hebben. Die woorden kan je NIET gebruiken voor tabel of kolomnamen. De hele lijst is hier te vinden: http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html

Als je daar kijkt, zul je zien dat "update" ook een reserved word is. Niet zo gek natuurlijk, want dat is 1 van de primaire SQL statements. Dus, loop die lijst door en vervang al je tabel/kolomnamen met namen die niet in die lijst voorkomen. Dan pas kan je verder.
 
Jasper den bleek

jasper den bleek

23/04/2012 19:21:54
Quote Anchor link
Het is gelukt bedankt voor al jullie hulp !!!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.