Autor |
Nachricht |
Sluggy
Threadersteller
Dabei seit: 11.02.2005
Ort: Dortmund
Alter: -
Geschlecht:
|
Verfasst Sa 26.08.2006 11:32
Titel [PHP] Ergebnisseite einer Suche über mehrere Seiten |
|
|
Hallo!
Ich wollte mal nach der grundsätzlichen Technik fragen, wie man "überlange" Ergebnisseiten einer Suche am sinnvollsten auf mehrere Seiten verteilt.
Bisher habe ich über 3 Verfahren nachgedacht:
1. Die Suche (einzelne Suchwörter) in einem temporären Cookie speichern.
2. Die Suche im $_SESSION-Array speichern.
3. Ein Array mit den Ergebnissen füllen und folgend darauf zugreifen.
(Bei allen Verfahren also eine "neue" Suche mit einem anderen LIMIT)
Liege ich völlig falsch oder weiß ggf. jemand ein Standardverfahren.
Danke schon mal!
|
|
|
|
|
dastef
Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Sa 26.08.2006 11:42
Titel
|
|
|
was spricht denn dagegen auf den einzelnen Seiten ein weiteres
Query mit nem Limit auszuführen?
die kompletten ergebnisse in nen array zu packen halte ich für
mutig .. das ist ja normalerweise doch nen ganz schöner brocken
|
|
|
|
|
Anzeige
|
|
|
svensen
Dabei seit: 25.08.2006
Ort: -
Alter: -
Geschlecht:
|
Verfasst Sa 26.08.2006 12:28
Titel
|
|
|
Auf jeden fall jedes mal neuen Query verwenden mit entsprechender Anpassung des LIMIT Parameters.
Sessions sind für eine solche Anwendung nicht gedacht.
|
|
|
|
|
tacker
Dabei seit: 22.03.2002
Ort: Trondheim, Norwegen
Alter: 43
Geschlecht:
|
Verfasst Sa 26.08.2006 19:23
Titel
|
|
|
Jedes mal das Such-Query erneut auszuführen kann auf die Performance gehen.
Es geht auch, das Suchergebnis in einer Tabelle zu speichern und
dann darüber zu iterieren.
|
|
|
|
|
Sluggy
Threadersteller
Dabei seit: 11.02.2005
Ort: Dortmund
Alter: -
Geschlecht:
|
Verfasst Mo 28.08.2006 14:01
Titel
|
|
|
svensen hat geschrieben: | Auf jeden fall jedes mal neuen Query verwenden mit entsprechender Anpassung des LIMIT Parameters.
Sessions sind für eine solche Anwendung nicht gedacht. |
Aber wo speicher ich die "alten" Werte für die neue Query?
Wenn ich die Seite noch mal lade, sind die Variablen, die zuvor mit $_POST von meinem Formular gefüllt worden sind, doch leer.
Ich habe jetzt soweit eine Blätterfunktion programmiert, aber das Suchwort ist beim erneuten Aufruf der Seite eben "verschwunden".
|
|
|
|
|
svensen
Dabei seit: 25.08.2006
Ort: -
Alter: -
Geschlecht:
|
Verfasst Mo 28.08.2006 14:22
Titel
|
|
|
das Suchwort bzw. alle sonstigen Suchparameter musst du natürlich entsprechend in deine Blätterfunktion
integrieren.
Beispiel, wenn du normale GET Links verwendest:
<a href="suchergebniss.php?deineBlätterparameter&deineSuchparameter">vor</a>
Wenn du POST verwendest musst du dementsprechend hidden Felder verwenden.
Dann geht auch nix verloren
|
|
|
|
|
blueX
Dabei seit: 13.07.2006
Ort: Lüchow
Alter: 42
Geschlecht:
|
Verfasst Di 29.08.2006 04:37
Titel
|
|
|
ja ich würde auch sagen es ist ratsam jede weitere seite mit einer querry zu versehen . die pervormande dürfte dabei noch lange nicht so einbrechen wie als wenn man 500 such ergebnisse erst irgenwo speichern und anschiessen dwie löschne muss.... die querry wird ja nicht komlett ausgeführt .. es werden immer nur so viele datensätze aus der db geholt wie erlaubt sind. bei der ersten seite werden die ersten 20 geholt ... bei der 2. dann die nächsten 20 usw...... wenn du das ganze in ein array .. sei es nun ein cooki oder ne session, speicherst hat der server ziemlich zu ackern und der user kann sich erst ma n tässchen tee eingiessen ^^ zumal wozu hunderte von such ergebnissen speichern wenn dem user vieleicht schon eine der ersten ausreicht????
mfg
blueX
|
|
|
|
|
tacker
Dabei seit: 22.03.2002
Ort: Trondheim, Norwegen
Alter: 43
Geschlecht:
|
Verfasst Di 29.08.2006 09:15
Titel
|
|
|
Kommt auf die Art der Suche. Wenn Du in nur einer Tabelle suchst, ist
das immer neue Ausführen des Queries mit Limit schneller.
Nimmst Du aber mehrere Tabellen dazu sieht das schon anders aus.
|
|
|
|
|
|
|
|
Ähnliche Themen |
.asp Seiten und der IIS7
Seiten verspringen im ff
Bullshit Seiten
No Frame- Seiten
PPT Seiten verändern
Benutzerspezifische Seiten
|
|