Toon posts:

[php+mysql] select last??

Pagina: 1
Acties:

Verwijderd

Topicstarter
ik ben bezig met een webpagina waar verschillende mensen hun nieuws op moeten / kunnen plaatsen. Nu vraag ik me af of ik in php een select kan gebruiken om de laatste bv. 5 berichten weer te geven? of moet ik dan aan een hele andere richting denken?

  • coubertin119
  • Registratie: Augustus 2002
  • Laatst online: 25-05 19:01
LIMIT 0, 5 zorgt voor de laatste 5 berichten in een resultset en je kan ook de volgorde van de nieuwsberichten kiezen met ORDER BY, zodat je de laatste 5 berichten krijgt.

Skat! Skat! Skat!


Verwijderd

als je MySQL gebruikt kan je gewoon doen (ongeveer):

SELECT * FROM news ORDER BY newsID DESC LIMIT 0,5

Dan krijg je de nieuwste bovenaan, en je krijgt de nieuwste 5 berichten

  • MisterData
  • Registratie: September 2001
  • Laatst online: 27-05 21:51
Kijken op MySQL.com bij LIMIT :)

Verwijderd

Topicstarter
das handig..... maar hoe krijg je deze 1 voor 1 op het scherm en niet direct onder elkaar (probeer ze in een table te krijgen, maar dan krijg je telkens het laatste bericht)

  • Koeniepoenie
  • Registratie: Oktober 2003
  • Laatst online: 21-05 11:05
dan moet je met een lus de resultaten doorlopen:
PHP:
1
2
3
4
5
$q = mysql_query("Hier je query");
while($record = mysql_fetch_array($q))
{
  echo $record["nieuws"]."<br />";
}


grtz Koen

Parse error: syntax error, unexpected GOT_USER in https://gathering.tweakers.net on line 1337


Verwijderd

Als je het echt in een tabel wil zou ik het zo doen:

PHP:
1
2
3
4
5
6
7
8
9
10
<table border="...">
 <tr>
<? $res = mysql_query("SELECT ... FROM ... ORDER BY ... LIMIT 0,5", $sql);
   while ($row=mysql_fetch_assoc($res))
   { $nieuws = $row["nieuws"];
     ?>
     <td><?=$nieuws;?></td>
<? } ?>
 </tr>
</table>

Verwijderd

Topicstarter
[quote]Verwijderd schreef op 15 december 2003 @ 19:23:
quote]


als ik dat doe .. komen ze achter elkaar zie:
http://www.dirco.nl/database/index.php


zie code

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<table border="0" cellspacing="0" cellpadding="0" width="400">
 <tr bgcolor="#9999cc" width="400">
        <?
            include("dbconnect.php");
            $result = mysql_query("SELECT * FROM dirco ORDER
  BY head DESC LIMIT 0,5") or die (mysql_error());
            while ($row = mysql_fetch_assoc($result))
            { $head = $row["head"]; 
        ?>
 <td class="menuhead">
        <?
            echo $head
        ?>
 </td>
        <?
            }
        ?>
</tr>
</table>

[ Voor 69% gewijzigd door Verwijderd op 15-12-2003 20:01 ]


Verwijderd

oeps, dit moet je echte code zijn :

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<table border="0" cellspacing="0" cellpadding="0" width="400">
        <?
            include("dbconnect.php");
            $result = mysql_query("SELECT * FROM dirco ORDER
  BY head DESC LIMIT 0,5") or die (mysql_error());
            while ($row = mysql_fetch_assoc($result))
            { $head = $row["head"]; 
        ?>
  <tr bgcolor="#9999cc" width="400">
   <td class="menuhead">
        <?
            echo $head
        ?>
 </td>
</tr>
        <?
            }
        ?>
</table>


ps: waarom doe je PHP als je HTML (blijkbaar) niet kent?

  • Suepahfly
  • Registratie: Juni 2001
  • Laatst online: 21-04 16:00
Verwijderd schreef op 15 december 2003 @ 20:00:
[...]
als ik dat doe .. komen ze achter elkaar zie:
http://www.dirco.nl/database/index.php

*knip*
Dat komt om dat je <tr> niet in de loop hebt staan
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
echo "<table>\n";

$result = mysql_query("..");
while ($row = mysql_fetch_assoc($result))
{ 
    echo 
     "<tr>\n"
    ."<td class=\"head\">". $row["head"]."<td>\n"
    ."</tr>\n"
    ;
}
echo "</table>\n";


Je coding style mag ook wel wat netter imo.

Verwijderd

Topicstarter
Suepahfly bedankt. nu doet hij het wel ....
Pagina: 1