mysql "umdrehen"
Julian
- datenbank
0 Sven Rautenberg0 pixi
Hallo,
ich habe folgendes Problem:
Ich schreibe mit php in eine mysql-table einige daten. Nun werden diese von einem anderen script per schleife ausgelesen:
<?php
mysql_connect("db.host.de", "user", "password");
mysql_select_db("db");
$id = mysql_query("SELECT * FROM table_main");
while ($var = mysql_fetch_array($id)) {
print("<p>Name: ");
print(htmlspecialchars($var["name"]) . "<br />");
print("Nummer: ");
print(htmlspecialchars($var["nmb"]) . "<br />");
print("Ort: ");
print(htmlspecialchars($var["location"]) . "<br />");
print("Daten: ");
print(htmlspecialchars($var["daten"]) . "</p>");
print("Datum: ");
print(htmlspecialchars($var["datum"]) . "</p>");
}
mysql_close();
?>
Wenn ich nun das script laufen lasse, werden zwar die Daten ausgegeben, aber von alt nach neu. Weiß jemand, wie ich die Ausgabe "umdrehen" kann? Dass heißt, von neu -> alt.
Danke Julian!
Wenn ich nun das script laufen lasse, werden zwar die Daten ausgegeben, aber von alt nach neu. Weiß jemand, wie ich die Ausgabe "umdrehen" kann? Dass heißt, von neu -> alt.
Nein, werden sie nicht. Sie werden ungeordnet ausgegeben, gerade so, wie die Datenbank die Daten organisiert hat. Du hast vielleicht Glück, daß die Daten geordnet erscheinen, aber sobald du viel löschst und neu einträgst, wird es ungeordnet.
Wenn du sortieren willst, mußt du das der Datenbank sagen.
Sortieren:
SELECT * FROM tabelle ORDER BY einfeld
Umgekehrt sortieren:
SELECT * FROM tabelle ORDER BY einfeld DESC
Wenn du nach Datum sortieren willst, sollte dein Feld "datum" vom Typ "Datum" sein, sonst sortiert mySQL nicht richtig, jedenfalls nicht nach Datum, sondern nach Strings. Eventuell nötige Datums-Konvertierungen zwischen Datenbank und Ausgabe kann ja eine kleine Funktion erledigen.
- Sven Rautenberg
hi julian
wenn du die ausgabereihenfolge umgedreht haben willst
braust du nur
"order by desc"
[ $id = mysql_query("SELECT * FROM table_main order by desc"); ]
schreiben
das ist alles
gruß
pixi
Moin
[ $id = mysql_query("SELECT * FROM table_main order by desc"); ]
Hmm, zuvor musst du dir aber ein eigenes DBMS schreiben (oder mysql modifizieren) dass das akzeptiert.
Meine Version von MySQL mag jedenfalls kein order by ohne Spaltenname.
--
Henryk Plötz
Grüße aus Berlin