Mailinglisten-Archive |
Alexander Meis wrote:
>
> Hi....
>
> wie kann ich es hinnbekommen das wenn ich eine grosse datenbank habe die mir
> 100derte
> ausgaben zurückliefert ich am ende so einen index habe der mich auf weiter
> ergebnisseiten leitet.
> also ne aufzählung wie 1 - 2 - 3 - 4 - oder so ?
Meine Problemloesung sieht so aus, dass ich (bei Mysql) mit der SELECT Option
LIMIT die Suche einschraenke, also mit nur z.B. 10 Ergebnisse anzeigen lasse,
und dabei bei Ergebniss 50 beginne.
------schnipp
$querystring="SELECT * from katalog
WHERE warengruppenid=$wgid
ORDER BY $order
LIMIT $offset,$maxrows";
------/schnipp
$maxrows beschreibt die Anzahl der Zeilen (z.B. 10), $offset den Anfang der
Aufzaehlung (z.B. ab Ergebniss 50).
Diese Variablen muessen nun von Seite zu Seite uebergeben werden. Meine
Ergebnisseite heist im Beispiel list.html, der aufruf beim ersten Aufruf
entsprechend:
-----schnipp
<a href="list.html?offset=0&maxrows=10>Linktext</a>
-----/schnipp
In der Seite list.html, die mit der obigen Abfrage die Ergebnisse sucht, baue
ich dann am Ende etwa folgende Konstruktion ein:
--------schnipp
<? if ($offset>=$maxrows) {
$offsetdown=$offset-$maxrows;
} else {
$offsetdown=$offset;
}
if ($i>=$maxrows) {
$offsetup=$offset+$maxrows;
} else {
$offsetup=$offset;
}
?>
<? if ($offset>0) {?>
<a href="liste.html?$maxrows=<?echo $maxrows?>&offset=<?echo
$offsetdown?>">Resultate <?echo "$offsetdown bis ".($offsetdown+$maxrows)?></a>
}
if ($i>=$maxrows) {?>
<a href="liste.html?$maxrows=<?echo $maxrows?>&offset=<?echo
$offsetup?>">Resultate <?echo "$offsetup bis ".($offsetup+$maxrows)?></a>
<?}?>
------------/schnipp
Jetzt habe ich bei Bedarf zwei Links nach "vorne" und "hinten". $maxrows kann
man natuerlich auch gut in der Datei fest konfigurieren.
Weiss nicht obs gut ist, funktioniert aber zumindest :-)
Gruss,
Joerg
--
Joerg Baach - Mediathek
jbaach_(at)_mediathek.de - http://www.mediathek.de
Bielefelder Str. 44 - 33378 Rheda-Wiedenbrueck - Germany
Tel: (+49) 5242 909091 - Fax: (+49) 5242 909089
PGP-Key availabe
php::bar PHP Wiki - Listenarchive