Veröffentlicht 30. August 200124 j Hallo, ich habe folgendes Problem: ein PHP-Skript liest aus einer MySQL-Tabelle Zeile für Zeile Text. Nun will ich es aber dazu bringen, dass es nur den Inhalt der letzten fünf Zeilen ausgibt und die zuerst eingelesenen vernachlässigt. Wie macht man das?
30. August 200124 j Bin mir nicht so ganz sicher, aber probier mal das: mysql(datenbank,"select * from tabelle order by eintrags_id desc limit 5"); Hoffe, es funktioniert.
30. August 200124 j hi lunatic82, nimm dazu eine aggregatfunktion wie last() bzw. bottom(). gruss <FONT COLOR="#a62a2a" SIZE="1">[ 30. August 2001 14:15: Beitrag 1 mal editiert, zuletzt von hades ]</font>
30. August 200124 j Hallo, <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR> nimm dazu eine aggregatfunktion wie last() bzw. bottom().
30. August 200124 j <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von Jaraz: <STRONG>Hallo, Habe ich noch nie was von gehört. Du kannst aber bei jedem Datensatz einen timestamp mit abspeichern. Und die Ausgabe dann nach dem timestamp sortiert ausgeben. Gruß Jaraz</STRONG>
31. August 200124 j Danke für eure Antworten, aber ich hab es dann auf eine weniger elegante Art gelöst. Und zwar wird jetzt die gesamte Datenbank ausgelesen und jede Zeile in einem Array gespeichert. Das hat auch den Vorteil, dass man gezielt auf einzelne Elemente zugreifen kann. Das ganze sieht jetzt so aus (für die, die es interessiert :-)) echo "<h4>Die lezten fünf Artikel:</h4>\n"; $query = mysql_query($sql_news); $i = 0; while ($zeilea = mysql_fetch_row($query)) { $array[$i] = $zeilea; $i++; } for ($a = (sizeof($array) - 1); $a >= (sizeof($array)- 5) ; $a--) { echo "<div align=left><li><b><a class=newsbig href=\"show_news.php?news_id=" . $array[$a][0] ."\"> " . $array[$a][2] . "</a></b> <font size=\"-1\"> | Datum: " .$array[$a][1] . "</font></li></div>\n"; }
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.