Mehrere Seiten aus Datenbankabfragen erzeugen


Folgendes Problem stellt sich jedem einmal, der mittels PHP und MySQL Inhalte aus Datenbanken ausgeben möchte: Irgendwann ist die Seite überfüllt und man möchte den Inhalt auf mehrere Seiten aufteilen. Dies ist ganz leicht automatisch möglich. Hierzu werden prinzipiell nur die Kenntnisse aus dem Artikel "Variablenübergabe zwischen Skripten" und der LIMIT-Befehl aus der SQL-Syntax benötigt. Letzter ist wie folgt aufgebaut:
Code:
SELECT * FROM `tabelle` LIMIT x,y

Hierbei bedeutet 'x' der Anfang, ab dem die Daten ausgegeben werden, y gibt die Anzahl der Datensätze an. So gibt
Code:
SELECT * FROM `tabelle` LIMIT 0,10

die ersten zehn Datensätze aus einer Tabelle zurück. In der Regel kombiniert man dies noch mit einer Sortierung mittels 'ORDER BY'.
Hier ein kleines Beispielskript:
Php-Code:

<?php 

$seite 
//Anzahl der Daten pro Seite
//Falls der Wert 'offset' via GET übergeben wurde, diesen auslesen, ansonsten bei 0 anfangen.
if (isset($_GET['offset']))
   
$offset intval($_GET['offset']);
else
   
$offset 0;

//Gesamtzahl der Datensätze in der Tabelle ermitteln
list($anzahl) = mysql_fetch_array(safe_query("SELECT COUNT(*) FROM `tabelle`"));

//$anzahl Datensätze nach Datum sortiert auswählen
$query "SELECT * FROM `tabelle` ORDER BY `datum` DESC LIMIT $offset$seite";
$result safe_query($query);

//Hier würde nun die Ausgabe der Ergebnisse erfolgen. Da dies stark Datenabhängig ist, wird der Teil weggelassen
{....}

//Navigation erzeugen, in diesem Fall ein einfaches Vor bzw. Zurück, es können natürlich auch Seiten angezeigt werden
if ($offset 0)
{
//Falls nicht der erste Eintrag angezeigt wird, kann immer eine Seite zurück gegangen werden.
   
echo '<a href="index.php?offset="'.($offset $seite).'"><< vorherige Einträge</a> ';
}
if (
$offset $seite $anzahl)
{
   echo 
'<a href="index.php?offset="'.($offset $seite).'"> nächste Einträge >></a>';
}
?>


Hier sollte nur der grobe Aufbau gezeigt werden, man sollte natürlich noch die Daten prüfen, z.B. ob $offset negativ ist. Es ging lediglich darum, die grundlegende Technik zu demonstrieren.

[ Zurück zur Übersicht ]
Zurück: Variablenübergabe zwischen Skripten  Stichworte: https://www google com/, https://www google de/, https://www google co in/, http://www google com, php mehrere seiten, mysql mehrere seiten, php mysql mehrere seiten , mehrere seiten php, php ausgabe mehrere seiten, PHP Tabelle mehrere Seiten, mysql auf meheren seiten ausgeben mit limit, https://search yahoo com, php datenbank ausgabe mehrere seiten, http://www google de/url?sa=t&rct=j&q=&esrc=s&source=web&cd=5&ved=0CFEQFjAE&url=http://www bimbel de/artikel/artikel-21 html&ei=-yJ8UPi1LY2WswaPi4GIDg&usg=AFQjCNHdAhDNlsts1xVFc3NEqHnAez3xcg&cad=rja, t
bimbel.de