Henryk Plötz: &MySQL : Anzeige der Datensaetze begrenzen

Beitrag lesen

Moin

seit einiger Zeit schlage ich mich mit einem Problem herum, fuer dessen Loesung ich Eure Hilfe braeuchte:
Wie steuere per PHP die Ausgabe einer limitierten Anzahl von Datensaetzen aus einer MySQL - Datenbank (bis hierher kein Prob.!)
UND (!!!)
fuege darunter Seitenzahlen ein fuer die Anzeige der jeweils naechsten Serie an Datensaetzen.

Na du brauchst eine Variable die du von Seite zu Seite weitergibst und die die aktuelle Seitenzahl enthält, nennen wir sie $p. Hier ein Beispiel für 20 Datensätze pro Seite (anpassen kannst du das sicherlich selbst):

<?php
if($p<0) $p=0; // zu kleines $p wird auf 0 gesetzt
$result=mysql_query("SELECT COUNT(*) FROM table"); // Abfrage der Anzahl der Datensätze
list($num)=mysql_fetchrow($result);

if(($p+1)*20 > $num) $p=floor($num/20); // zu großes $p wird nach unten gerundet

$result=mysql_query("SELECT wasauchimmerduwillst FROM table LIMIT ".($p*20).",20"); // eigentliche Abfrage

// ....hier  kommt der Rest deines PHP- und/oder HTML-Codes

//Link ausgeben
if($p>0) { ?>
<a href="?p=<?php echo $p-1;?>">Zurück</a>
<?php } if($p< $num/20) { ?>
<a href="?p=<?php echo $p+1;?>">Weiter</a>
<?php }

// .. und noch mehr Code

?>

Achtung: Ungetestet, und keine Garantie für Syntax-Fehler oder off-by-one errors, aber das Prinzip sollte stimmen :)

H2H

--
Henryk Plötz
Grüße von der Ostsee