dedlfix: Aufteilung mehrere Seiten

Beitrag lesen

Hi!

Jetzt hab ich noch ein Problem. Die $_POSTS für die such query muss ich mir ja irgendwie merken wenn ich jetzt zb. auf seite 2 gehe oder seite 3 und wieder zurück. Gibts da noch nen trick?

Du veränderst mit einer Suche keine Daten, also ist es nicht notwendig, POST zu verwenden. Nimm GET für die Parameter und die Seitenzahl. GET hat auch den Vorteil, dass man mit den Browser-Funktionen in den bereits abgefragten Seiten vor und zurück blättern kann, ohne von einem "Wollen Sie das Formular nochmal abschicken?" genervt zu werden. Auch die bereits genannte Session ist _keine_ gute Idee, da mit immer gleich bleibender URL für verschiedene Suchvorgänge verschiedene Daten kommen. Am besten ist es so umgesetzt, dass mit GET und Parametern, egal wie und zu welcher Zeit der Aufruf erfolgt, stets dasselbe Ergebnis für dieselbe URL geliefert wird. Dann kann man auch mal solche URLs bookmarken oder weiterversenden.

Wenn du dich nun entschieden hast, auf GET zu setzen, dann hast du bereits alle Daten in der aktuellen URL, nur die Seite musst du für die Blätter-Links ändern. Dazu empfiehlt es sich, mit parse_str() den Query-String in ein Array zu parsen, den Seitenwert zu ändern und ihn dann mit http_build_query() wieder zusammenzubauen. http_build_url() ist auch einen Blick wert (wobei sich diese Funktion in einer PECL-Extension versteckt und damit nicht unbedingt verfügbar sein muss).

Lo!