Hallo dedlfix,
danke fuer deine Antwort.
Wie du schon richtig erkannt hast, musst du die Kriterien irgendwie zwischen den Requests aufheben. Dazu gibt es die bekannten Methoden Requestparameter (Path/Querystring/POST) oder eine Session (und Cookies, aber die halte ich nicht für besonders geeignet).
Also derzeit ist es wie folgt:
-
ohne Javascript -
Die Filterform wird via GET abgesetzt. Das heisst, dass Blaettern auf der Ergebnisseite (also ich meine jetzt nicht die von mir erwuenschte Blaetterunktion, sondern lediglich das Durchstoebern der Suchergebnisse) habe ich so realisiert, dass $_GET['page'] in- bzw. dekrementiert wird und bei einem neuen Request uebergeben wird. -
Mit JavaScript -
Beim Klick auf die naechste Ergebnisseite lade ich lediglich den Container mit den Ergebnissen neu. Es findet also kein neuer Request der kompletten Seite statt.
Der Vorteil an Path- und Querystring-Parametern ist, dass man Requests bookmarken kann.
Daher sende ich das Filterformular - wie oben bereits erwaehnt - ueber GET ab. Folglich kann man eine Suche bookmarken.
Da eine Detailseite stets eine eindeutige URL besitzt, kann auch diese gebookmarked werden.
Was nicht moeglich ist - und meiner Meinung nach auch nicht Ziel sein sollte - ist das Bookmarken einer Detailseite inklusive der - moeglicherweise(!) - zuvor abgesetzten Suche.
Das heisst also, die Blaetterfunktion auf den Detailseiten wird somit nur dann eingeblendet, wenn zuvor eine Suche abgesetzt wurde.
Nenn mal deine Varianten. In welcher Richtung hast du Bedenken, generelles Konzept oder Umsetzung?
1. Benutzer setzt Filterkriterien
2. Filterform wird via GET abgesetzt
3. Suchkriterien werden in der Session hinterlegt
3. Auf gleicher Seite werden gefundene Resultate aufgelistet
4. Benutzer kann dort blaettern (siehe oben bezgl. Page-Parameter)
5. Benutzer klickt auf Detail
6. Detailseite oeffnet sich im selben Fenster
7. Detailseite schaut, ob $_SESSION['filter_criteria'] existiert
8. Wenn, dann Links zum Vor- und zurueckblaettern einbinden
So, und genau zwischen 7 und 8 liegt mein derzeitiges Fragezeichen.
Woher weiss ich an dieser Stelle, welches Farhzeug als naechstes/vorheriges dran ist?
Es muesste ja eine Art Zeiger existieren, der mir die aktuelle Position des Fahrzeuges in der Fahrzeug-Suchergebnisliste verraet. Anhand des Zeigers koennte ich dann ja das SQL fuer die Suche mit entsprechenden Limit-Offset-Angaben praeparieren (also so dass lediglich ein einziger Datensatz zurueckgegeben wird).
Was mir daran allerdings ein wenig aufstoeszt, ist, dass ich somit auf der Detailseite zwei Mal die Suche absetzen muss (einmal um den vorherigen Datensatz zu ermitteln, und das zweite Mal fuer den naechsten Datensatz). Da die Suche recht komplex ist, habe ich hier ein paar designtechnische Bedenken.
MfG
Peter