Übergangsseite bei Suchen

Ralph

Erfahrenes Mitglied
Hallo,

weiß gerad gar nicht genau, wie ich das nennen soll, aber folgendes:

Ich habe ein Suchformular. Wenn der User auf "suchen" klickt, werden die Datnesätze gesucht ;) Soweit sogut. Nun dauert es aber manchmal ein paar Sekunden bis die DB die Datensätze lifert und PHP die Resultliste ausgegeben hat.

Ich würde gerne für diese ganze "Wartezeit" ein Bild oder zumindest Text anzeigen lassen, dass der User weiss, aha es dauert halt ein wenig.

Es gibt so Preloader mit JS. Leider weiss ich damit nichts anzufangen, bzw. mit diesem Problem zu kombinieren.

Hat jemand Ideen oder Links?
 
Ich möchte gern das Thema nochmal aufgreifen.

Hier in diesem Forum gibt es immer eine Zwischenseite, wenn eine Suchanfrage etwas länger dauert. Aber wie ist das denn realisiert. Doch nicht mittels onload, oder?
 
Ganz einfach, nach jeder Abfrage wird eine Seite geladen auf der ein simpler JScript Reload steht.

Einen Preloader in PHP funktioniert immer mit Einschränkungen,
da der Server eine Weile braucht bis er die Daten an den Browser
weitergibt. MSIE lädt zum Beispiel erst die Seite wenn xy KB vom
Server geschickt worden sind. Es gab aber die Diskussion hier im
Forum schonmal und es gibt auch eine Klasse in PHP, fragt mich
aber nicht wie die heißt, googlet bitte selbst.
 
Du könntest ja auch nach Verarbeitung von x Datensätzen mittels [phpf]flush[/phpf] Inhalte ausgeben und so die Wartezeit kürzen, der User kann also schon die ersten Ergebnisse betrachen während der Rest noch verarbitet wird.
 
Das mit dem Ausgeben mittels flush() werd ich mir mal ansehen. Diese Möglichkeit ging mir noch gar nicht durch den Kopf.

Ich habe jetzt erstmal die Lösung, das mein Formular nicht an das verarbeitende Skript geschickt wird, sondern eben an die Übergangsseite. Dort werden alle Werte aus dem Formular in die Session geschrieben, ein Text angezeigt, dass die Suche in Arbeit ist und es erfolgt eine Weiterleitung mit
PHP:
<META HTTP-EQUIV="Refresh" CONTENT="0; URL=http://localhost/home/zoeken_execute.php?<?echo(session_name())?>=<?echo(session_id())?>&preload=vind">
an das eigentlich zu verarbeitende Skript.

Das wäre also eine Lösung so wie hier im Forum und ohne Javascript. Und die Webuser müssen nicht auf ne weisse Seite starren. Ist doch schonmal ganz hübsch so.
 
Zurück