|
Als erstes muss eine Abfrage an die Datenbank abgesetzt werden um die Masse der Datensätze zu ermitteln:
<?php $select = mysql_query("select * from tabelle");<br /> $reihen = mysql_num_rows($select); ?>
Somit haben wir nun eine Zahl die die gefundenen Datensätze beinhaltet. Diese Zahl müssen wir nun durch unsere Zahl X teilen. X beinhaltet unsere Menge der anzuzeigenen Datensätze auf einer Seite.
<?php $zeigen = floor($reihen / 5); ?>
Die Variable $zeigen beinhaltet nun die Seitenanzahl die wir auf der Seite haben. Mit der Funktion floor() haben wir die Zahl gleich abgerundet, da wir ansonsten wahrscheinlich eine Zahl bekommen würden, die mit unmengen Stellen nach dem Komma gefüllt ist.
Jetzt müssen wir die Variable setzen die den Startpunkt bezeichnet, von wo an in der Datenbank.Tabelle selektiert wird.
<?php if(!$start) { $start = 0.1; } ?>
Somit haben wir die Grundlage zum selektieren gelegt:
<?php $result = mysql_query("select * from tabelle limit start,5"); ?>
Danach machen wir eine normale Ausgabe via einer while-Schleife in einer HTML-Tabelle:
<?php echo "< table>"; while ($zeile = mysql_fetch_array($result)) { echo "<tr><td>$zeile[3]</td></tr>"; } echo "< /table>"; ?>
Die 3 in dem Array $zeile bezeichnet welche Spalte in dem Datensatz ausgegeben werden soll, hier fängt man bei 0 an zu zählen, also Spalte 1 ist 0, Spalte 2 ist 1 usw...
Da nun die erste Ausgabe mit 5 Datensätzen geschehen ist, müssen wir uns dem Umblättern zuwenden. Als erstes machen wie via einer for-Schleife eine Ausgabe mit den Seiten. Dazu benötigen wir wieder die Variable $zeigen.
<?php if($start > 0.1) { $zurueck = $start - 5; echo "<a href=\"$PHP_SELF?start=$zurueck\"><< Zurück</a>"; } for($i = 0; $i <= $zeigen; $i++) { echo "<a href=\"$PHP_SELF?start=$n\">$i</a>"; $n += 5; } $weiter = $start + 5; if($reihen > $weiter) { echo "<a href=\"$PHP_SELF?start=$weiter\">Weiter >></a>"; } ?>
Somit haben wir nun eine Ausgabe der Seiten die verfügbar sind, desweiteren definieren wir noch eine Variable ($n), Sie wird nach jeder Ausgabe mit 5 addiert, somit pushen wir die Variable $start hoch und erzwingen beim Klick eine andere Ausgabe. Soll heissen, der MySQL-Query $select wird in der Variable $start beeinflusst.
Vor und nach der for-Schleife generieren wir auch noch zwei Hyperlinks, der eine mit dem Namen Zurück und den anderen Weiter. Diese Links sollen dem Benutzer die Möglichkeit geben ohne über die Seitenzahlen zu navigieren und einfach mit den Links sich durch die Seiten zu schalten. Dazu werden 2 Variablen erstellt, die eine $zurueck und die andere $weiter. Die erste ($zurueck) wird mit 5 subtrahiert und dann wird mit einer if-Schleife überprüft ob die Variable über 0.1 ist. Wenn das Ergebniss true ergibt, wird der Link Zurück ausgegeben. Das gleiche nur umgekehrt, also das die Variable $weiter mit 5 addiert wird, passiert auch beim Weiter-Hyperlink.
|