
63130
22.08.2008, aktualisiert am 27.08.2008
Liste auf mehreren Seiten generieren
Ich habe ein Problem: Ich lade in einem Projekt mehrere Datenbankeinträge und erstelle eine Liste daraus. Nur kann diese Lsite mehrere hundert einträge erhalten.
Ich habe ein Problem: Ich lade in einem Projekt mehrere Datenbankeinträge und erstelle eine Liste daraus. Nur kann diese Lsite mehrere hundert einträge erhalten. Nun will ich ähnlich wie bei den Google Ergebnissen die Ergemisse auf mehreren Seiten anzeigen. Also sieht der Nutzer die ersten 10, auf Seite 2 dann die nächsten 10 und so weiter. Dabei sind die Einträge zwar mit einer ID durchgehend nummeriert, aber wenn ein Eintrag gelöscht wird, ist eine Lücke in der Nummerierung. Also kann ich mich nicht an der laufenden Nummerierung orientieren.
Könnt ihr mir da helfen?
Der Quelltext der normalen Liste bei der alle Einträge auf einer Seite stehen sieht so aus:
Vielen Dank schonmal
Ich habe ein Problem: Ich lade in einem Projekt mehrere Datenbankeinträge und erstelle eine Liste daraus. Nur kann diese Lsite mehrere hundert einträge erhalten. Nun will ich ähnlich wie bei den Google Ergebnissen die Ergemisse auf mehreren Seiten anzeigen. Also sieht der Nutzer die ersten 10, auf Seite 2 dann die nächsten 10 und so weiter. Dabei sind die Einträge zwar mit einer ID durchgehend nummeriert, aber wenn ein Eintrag gelöscht wird, ist eine Lücke in der Nummerierung. Also kann ich mich nicht an der laufenden Nummerierung orientieren.
Könnt ihr mir da helfen?
Der Quelltext der normalen Liste bei der alle Einträge auf einer Seite stehen sieht so aus:
<?php
include("../../include/header.php");
$ausgabe = mysql_query("SELECT * FROM vc_branchenbuch");
$sql = mysql_query("SELECT id, firma, ort FROM vc_branchenbuch ORDER BY firma ASC");
while ($row = mysql_fetch_array($sql)) {
echo "<a href=\"detail.php?id=$row[id]\"><b>$row[firma]</b></a><br />$row[ort]<br /><br /><br />";
$temp = $row[id];
}
include("../../include/footer.php");
?>
Vielen Dank schonmal
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 95081
Url: https://administrator.de/forum/liste-auf-mehreren-seiten-generieren-95081.html
Ausgedruckt am: 06.04.2025 um 23:04 Uhr
6 Kommentare
Neuester Kommentar
Moin, dein gesuchtes "Zauberwort" heisst LIMIT (s. MySQL-SELECT)
Mit "SELECT * FROM `table` LIMIT 10" würdest du die ersten zehn Zeilen der Tabelle erhalten (mit "LIMIT 0,10" ebenfalls).
Mit "SELECT * FROM `table` LIMIT 10,10" die zweiten Zehn (angefangen beim 10., für zehn Stück).
Mit "SELECT * FROM `table` LIMIT 20,10" die dritten Zehn (angefangen beim 20., für zehn Stück)
Mit "SELECT * FROM `table` LIMIT 30,10" die vierten Zehn (angefangen beim 30., für zehn Stück)
u.s.w.
Jetzt liegt es an dir, ob du in der Seitennavigation die Zahl angibst bei der angefangen werden soll die Datensätze aus der DB zu lesen (der Offset), oder aber ob du die Seitenzahl verwendest und dir zusammen mit der Anzahl der Anzeigen pro Seite den Offset errechnest.
Schönen Start in Wochenende
~Arano
Mit "SELECT * FROM `table` LIMIT 10" würdest du die ersten zehn Zeilen der Tabelle erhalten (mit "LIMIT 0,10" ebenfalls).
Mit "SELECT * FROM `table` LIMIT 10,10" die zweiten Zehn (angefangen beim 10., für zehn Stück).
Mit "SELECT * FROM `table` LIMIT 20,10" die dritten Zehn (angefangen beim 20., für zehn Stück)
Mit "SELECT * FROM `table` LIMIT 30,10" die vierten Zehn (angefangen beim 30., für zehn Stück)
u.s.w.
Jetzt liegt es an dir, ob du in der Seitennavigation die Zahl angibst bei der angefangen werden soll die Datensätze aus der DB zu lesen (der Offset), oder aber ob du die Seitenzahl verwendest und dir zusammen mit der Anzahl der Anzeigen pro Seite den Offset errechnest.
Schönen Start in Wochenende
~Arano
Jawohl !
Und dieses kleine Zauberwort heisst COUNT
Hm... mir ist so als wäre es ein Unterschied ob man "COUNT(*)" oder "COUNT(`id`)" verwendet. Ich glaube "C(*)" zählt einmal alles Datensätze in jeder Spalte (id,firma, adresse,...), was bei "C(id)" dann ja wohl nicht so wäre.
Allerdings meine ich mich auch zu erinnern, das "C(*)" evtl. auf den Tabellenindex zugreift und somit keine wirkliche Zählung durchführt... ich weiss es nicht mehr, habe auch so schnell nichts dazu gefunden.
Gruß
Arano
Und dieses kleine Zauberwort heisst COUNT
Hm... mir ist so als wäre es ein Unterschied ob man "COUNT(*)" oder "COUNT(`id`)" verwendet. Ich glaube "C(*)" zählt einmal alles Datensätze in jeder Spalte (id,firma, adresse,...), was bei "C(id)" dann ja wohl nicht so wäre.
Allerdings meine ich mich auch zu erinnern, das "C(*)" evtl. auf den Tabellenindex zugreift und somit keine wirkliche Zählung durchführt... ich weiss es nicht mehr, habe auch so schnell nichts dazu gefunden.
Gruß
Arano