Carsten Pieper: Ausgabe einer HTML-Seite und daraus Wiederaufruf des CGI

Hallo zusammen!

Ich versuche gerade, eine interne Suchmaschine für die Seite meiner Pfarrgemeinde zu programmieren. Das Suchformular ist unten verlinkt.
Es ruft ein CGI internesuche.pl auf, welches dann die Suche ausführt und in ein Array @ergebnisse schreibt. Soweit funktioniert auch alles.

Nun sollen aber nicht einfach alle Suchergebnisse auf einmal ausgegeben werden, sondern immer nur fünf, der Benutzer soll dann mit vor und zurück-Verweisen in den Suchergebnissen navigieren können.

Die Ausgabe der HTML-Seite mit den ersten fünf Ergebnissen klappt auch, nur weiß ich nicht, wie ich von dieser HTML-Seite wieder in das CGI komme, um die zweiten 5 Ergebnisse auszugeben. Gibt es da eine einfache, perfomante Lösung? Ich habe die Ausgabe in eine sub verlagert, ich müsste einfach aus dem HTML-Formular die sub mit einem entsprechenden Ausgabestartparameter aufrufen können, ohne dass das ganze Skript [mit der Suche] nochmal ausgeführt wird.

Als zweite Variante kam mir lediglich die Idee, die Ausgabe der Ergebnisse in ein zweites CGI ausgabe.pl auszulagern, welches man natürlich aus den HTML-Seiten mit den Ergebnissen immer wieder aufrufen könnte, und man übergibt dabei als Parameter, welche Einträge in @ergebnisse ausgegeben werden sollen. Bei dieser Variante stellt sich mir lediglich folgendes Problem:
Wie kann ich das zweite Skipt aus dem ersten aufrufen, um die erste HTML-Seite auszugeben? Als Parameter müsste hier natürlich @ergebnisse übergeben werden.

Dann stellt sich noch die Frage, sobald die erste HTML-Seite ausgegeben ist, kann ich dann beim zweiten Aufruf noch auf @ergebnisse zugreifen?

Herzlichen Dank für Eure zahlreichen, wenn esgeht ruhig etwas ausführlicheren :-), Antworten sagt im Voraus

Carsten Pieper

  1. Hi Carsten,

    ich würde den Inhalt von @ergebnisse in einem hidden input in die Ergebnisseite schreiben. Wenn Du dann internesuche.pl aufrufst, kannst Du sowas wie action=show übergeben, Du hast die Trefferliste und kannst angeben, ab dem wievielten Eintrag die Treffer angezeigt werden sollen.

    Gruß von TomC

    1. Hi Tom,

      ich würde den Inhalt von @ergebnisse in einem hidden input in die Ergebnisseite schreiben.

      Töhö, erstaunlich einfach, da hätte man auch selber drauf kommen können. Ich glaub ich war schon ein bisschen betriebsblind.

      Wenn Du dann internesuche.pl aufrufst, kannst Du sowas wie >action=show übergeben, Du hast die Trefferliste und kannst angeben, >ab dem wievielten Eintrag die Treffer angezeigt werden sollen.

      Richtig, genau, nur das ich ab dann natürlich ausgabe.pl aufrufen muss, damit nicht jedesmal von neuem die Suche ausgeführt wird.

      Ganz herzlichen Dank, das Projekt Suchmaschine streitet mit Riesenschritten dem Ende antgegen,

      carsten