Datenbankabfrage Limit 10 Neueste beiträge zuletzt?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
auslese
ausprobieren
behandeln
code
date
datum
ende
folgendes code
frage
hilfe
holen
limit
neuste beitrag
ordern
ordnen
tabelle
test
testen
versuch
zuviel
-
Hallo LC,
Ich will die Letzten 10 beiträge aus meiner DB anfragen. Aber nur die Letzten 10 beiträge und die Ältesten beiträge zuerst und die Neusten zuletzt.
$sql = "SELECT ". " * ". "FROM ". "test ". "ORDER BY ". "(id) Desc LIMIT 10"; $result = mysql_query ($sql); while ($data = mysql_fetch_array ($result)) { $test = htmlspecialchars(mysql_escape_string($data['test'])); }
Die letzten 10 klappt schon aber bei mir kommt immer der Neuste Beitrag zuerst und Die Ältesten zuletzt.
Wie krieg ich das hin? ich habe schon ASC versucht das geht aber auch nicht!
HILFE
Christian -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hi
also versuch mal folgendes:
$result = mysql_query ("SELEC * FROM test LIMIT 10,-1"); while ($data = mysql_fetch_array ($result)) { $test = htmlspecialchars(mysql_escape_string($data['test'])); }
Ich habe deinem LIMIT mit der -1 gesagt, das er 10 vom Ende der Tabelle auslesen soll, und ich denke das ORDER BY bzw das DESC sind dann überflüssig.
Falls nicht:
$result = mysql_query ("SELEC * FROM test ORDER BY id DESC LIMIT 10,-1"); while ($data = mysql_fetch_array ($result)) { $test = htmlspecialchars(mysql_escape_string($data['test'])); }
evt ist auch nur das DESC dann zuviel, musst du ausprobieren.
Grüsse
Color
-
color schrieb: Hi
also versuch mal folgendes:
$result = mysql_query ("SELEC * FROM test LIMIT 10,-1"); while ($data = mysql_fetch_array ($result)) { $test = htmlspecialchars(mysql_escape_string($data['test'])); }
Ich habe deinem LIMIT mit der -1 gesagt, das er 10 vom Ende der Tabelle auslesen soll, und ich denke das ORDER BY bzw das DESC sind dann überflüssig.
Falls nicht:
$result = mysql_query ("SELEC * FROM test ORDER BY id DESC LIMIT 10,-1"); while ($data = mysql_fetch_array ($result)) { $test = htmlspecialchars(mysql_escape_string($data['test'])); }
evt ist auch nur das DESC dann zuviel, musst du ausprobieren.
Grüsse
Color
Danke Schonmal! ich werde es gleich Testen!
Ich hätte noch eine Frage kann man die anderen beiträge (die nicht mehr in das LIMIT 10 passen) löschen?
Wenn ja wie?
-
Hi
nachdem du die Daten ausgelesen hast, kannst du ja sagen das alle Daten gelöscht werden sollen, die kleiner sind als der älteste beitrag von den 10.
$result = mysql_query ("SELEC * FROM test LIMIT 10,-1"); while ($data = mysql_fetch_array ($result)) { if($i!=true) { mysql_query("DELETE FROM test WHERE id<'".$data['id']."'); $i=true; } $test = htmlspecialchars(mysql_escape_string($data['test'])); }
Grüsse
Color
Beitrag zuletzt geändert: 26.2.2010 15:44:40 von color -
Schaut gut aus:
SELECT * FROM test ORDER BY idDate DESC LIMIT 10
Das wichtigste ist dies per MYSQL zu behandeln und nicht die ganzen Daten auf den Webserver holen und dann nur 10 davon anzeigen... ORDER BY id is net schön und auch den * solltest im Betrieb dann rausnehmen, zum testen is es jedoch ok
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage