Datenbank: Nur ein Ergebnis von vielen anzeigen

Hallo liebe Experten,

wie kann ich von einem Ergebnis einer Datenbankabfrage von mehreren Ergebnissen nur eines anzeigen lassen, z.B. das mit der höchsten ID-Nummer? Allerdings ohne dass ich die ID genau kenne. Kann ich mit der Abfrage

$dada = „SELECT * FROM foo ORDER BY id DESC“;
$datenabfrage = mysql_query($dada);
$datenreihen = mysql_num_rows($datenabfrage);
$ergebnis = mysql_fetch_array($datenabfrage);

Wenn ich dann z.B.

echo „$ergebnis[zahl]“;

ausgeben möchte, ist das dann der Eintrag des Feldes „zahl“ aus der Reihe mit der höchsten ID?

Und dann noch eine Frage: Wie kann ich auf einer Folgeseite die nächsten 9 Datenreihen anzeigen, ohne jedoch die ersten beiden, also die Reihen 3-11? Und wie kann ich nur aus der Reihe 5 die Ergebnisse anzeigen?

Ich weiß, das klingt vielleicht alles etwas unbeholfen. Ich bin aber leider noch Anfänger. Darum bitte ich auch um anfängergerechte Antworten.

Vielen Dank!

Gruß
Heiliger Bimbam

Hallo liebe Experten,

wie kann ich von einem Ergebnis einer Datenbankabfrage von
mehreren Ergebnissen nur eines anzeigen lassen, z.B. das mit
der höchsten ID-Nummer? Allerdings ohne dass ich die ID genau
kenne. Kann ich mit der Abfrage

$dada = „SELECT * FROM foo ORDER BY id DESC“;
$datenabfrage = mysql_query($dada);
$datenreihen = mysql_num_rows($datenabfrage);
$ergebnis = mysql_fetch_array($datenabfrage);

Wenn ich dann z.B.

echo „$ergebnis[zahl]“;

ausgeben möchte, ist das dann der Eintrag des Feldes „zahl“
aus der Reihe mit der höchsten ID?

ja, aber das wäre sehr umständlich, da Du dabei die KOMPLETTE Tabelle ausliest…
$query = mysql_query ("SELECT MAX(id)FROM foo");

Und dann noch eine Frage: Wie kann ich auf einer Folgeseite
die nächsten 9 Datenreihen anzeigen, ohne jedoch die ersten
beiden, also die Reihen 3-11? Und wie kann ich nur aus der
Reihe 5 die Ergebnisse anzeigen?

verwende Limit dazu.
$query = mysql_query(„Select * FROM foo where x=y ORDER by z Limit 5, 10“);

die erste Zahl ist die Anzahl der Zeilen, die rausgeholt werden, die zweite der „erste“. In dem Beispiel wird also Zeile 10-14 geholt.

Ich weiß, das klingt vielleicht alles etwas unbeholfen. Ich
bin aber leider noch Anfänger. Darum bitte ich auch um
anfängergerechte Antworten.

hoffe ich habs gut genug erklärt

Vielen Dank …
… MunichFreak,

ich habe es jetzt kapiert. Leider steht in meinem PHP-Buch überhaupt nix über LIMIT. Welch eine Lücke!

Tschau
Heiliger Bimbam

das könnte daran liegen
dass Limit eher im mysql buch zu finden wäre…
schliesslich setzt Du ja im mysql_query einen mysql-Befehl ab :wink:

vllt ist das ein Hilfreicher Link für Dich:
http://dev.mysql.com/doc/mysql/de/LIMIT_optimisation…

Danke fürs Sternchen :wink:

dass Limit eher im mysql buch zu finden wäre…
schliesslich setzt Du ja im mysql_query einen mysql-Befehl ab
:wink:

Ähämm… natürlich ist in meinem PHP-Buch (das ich nach wie vor gar nicht so übel finde) auch ein großer MySQL-Teil drin. Offensichtlich abba nicht groß genug. Grundsätzlich gar keine schlechte Idee, mal ein MySQL-Buch zu probieren :wink:

vllt ist das ein Hilfreicher Link für Dich:
http://dev.mysql.com/doc/mysql/de/LIMIT_optimisation…

Da werde ich mich mal in Ruhe durchschnausen.

Dank und Gruß
Heiliger Bimbam