Such- und Ergebnisseiten erstellen

Zuletzt aktualisiert am 25. April 2024
Anmerkung

Die Benutzeroberfläche wurde in Dreamweaver vereinfacht. Daher kann es sein, dass einige der in diesem Artikel beschriebenen Optionen in Ihrer Version von Dreamweaver nicht vorhanden sind. Weitere Informationen finden Sie in diesem Artikel.

Such- und Ergebnisseiten

Du kannst Dreamweaver verwenden, um eine Reihe von Seiten zu erstellen, mit denen Benutzer deine Datenbank durchsuchen und die Suchergebnisse anzeigen können.

In den meisten Fällen benötigst du mindestens zwei Seiten, um diese Funktion zu deiner Web-Anwendung hinzuzufügen.Die erste Seite ist eine Seite, die ein HTML-Formular enthält, in das Benutzer Suchparameter eingeben. Obwohl diese Seite keine tatsächliche Suche durchführt, wird sie als Suchseite bezeichnet.

Die zweite Seite, die du benötigst, ist die Ergebnisseite, die den Großteil der Arbeit erledigt. Die Ergebnisseite übernimmt die folgenden Aufgaben:

  • Lesen der über die Suchseite übermittelten Suchparameter

  • Herstellen der Verbindung mit der Datenbank und Suchen der Datensätze

  • Erstellen einer Datensatzgruppe aus den gefundenen Datensätzen

  • Anzeigen des Inhalts der Datensatzgruppe

    Optional kannst du eine Detailseite hinzufügen. Eine Detailseite gibt Benutzern mehr Informationen über einen bestimmten Datensatz auf der Ergebnisseite.

    Wenn du nur einen Suchparameter hast, ermöglicht dir Dreamweaver, Suchfunktionen zu deiner Web-Anwendung hinzuzufügen, ohne SQL-Abfragen und Variablen zu verwenden. Gestalte einfach deine Seiten und fülle einige Dialogfelder aus. Wenn du mehr als einen Suchparameter hast, musst du eine SQL-Anweisung schreiben und mehrere Variablen dafür definieren.

    Dreamweaver fügt die SQL- Abfrage in deine Seite ein. Wenn die Seite auf dem Server läuft, wird jeder Datensatz in der Datenbanktabelle überprüft. Wenn das angegebene Feld in einem Datensatz deine SQL-Abfragebedingungen erfüllt, wird der Datensatz in ein Recordset aufgenommen. Die SQL-Abfrage erstellt effektiv ein Recordset, das nur die Such- ergebnisse enthält.

    Beispielsweise könnten Außendienstmitarbeiter Informationen über Kunden in einem bestimmten Gebiet haben, die Einkommen über einem bestimmten Level haben. In einem Formular auf einer Suchseite gibt der Vertriebsmitarbeiter ein geographisches Gebiet und ein Mindesteinkommen ein und klickt dann auf den Senden-Button, um die beiden Werte an einen Server zu senden. Auf dem Server werden die Werte an die SQL-Anweisung der Ergebnisseite weitergegeben, die dann ein Recordset erstellt, das nur Kunden im angegebenen Gebiet mit Einkommen über dem angegebenen Level enthält.

Suchseiten erstellen

Eine Suchseite im Web enthält normalerweise Formularfelder, in die der Benutzer Suchparameter eingibt. Deine Suchseite muss mindestens ein HTML-Formular mit einem Senden-Button haben.

Um ein HTML-Formular zu einer Suchseite hinzuzufügen, führe die folgende Prozedur durch.

Öffne die Suchseite oder eine neue Seite und wähle Einfügen > Formular > Formular.

Daraufhin wird ein leeres Formular auf der Seite erstellt. Möglicherweise musst du unsichtbare Elemente aktivieren (Ansicht > Visuelle Hilfsmittel > Unsichtbare Elemente), um die Begrenzungen des Formulars zu sehen, die durch dünne rote Linien dargestellt werden.

Füge Formularobjekte hinzu, damit Benutzer ihre Suchparameter eingeben können, indem du Formular aus dem Einfügen-Menü auswählst.

Formularobjekte umfassen Textfelder, Menüs, Optionen und Optionsfelder. Du kannst so viele Formularobjekte hinzufügen, wie du möchtest, um Benutzern zu helfen, ihre Suchen zu verfeinern. Beachte jedoch, dass die SQL-Anweisung umso komplexer wird, je mehr Suchparameter sich auf der Suchseite befinden.

Füge einen Submit-Button zum Formular hinzu (Einfügen > Formular > Button).
(Optional) Ändere den Titel des Submit-Buttons, indem du den Button auswählst, den Eigenschafteninspektor öffnest (Fenster > Eigenschaften) und einen neuen Wert in das Feld Wert eingibst.

Als Nächstes legst du fest, wohin das Formular die Suchparameter senden soll, wenn der Anwender auf den Submit-Button klickt.

Wähle das Formular aus, indem du das <form>-Tag in der Tag-Auswahl am unteren Rand des Dokumentfensters auswählst, wie das folgende Bild zeigt:
Formular-Tag

Gib im Feld Aktion im Eigenschafteninspektor des Formulars den Dateinamen der Ergebnisseite ein, die die Datenbanksuche durchführt.
Wähle im Popup-Menü Methode eine der folgenden Methoden aus, um festzulegen, wie das Formular Daten an den Server sendet:
  • GET sendet die Formulardaten, indem es sie als Abfragezeichenfolge an die URL anhängt.Da URLs auf 8192 Zeichen begrenzt sind, verwende die GET-Methode nicht für lange Formulare.

  • POST sendet die Formulardaten im Hauptteil einer Nachricht.

  • Standard verwendet die Standardmethode des Browsers (normalerweise GET).

    Die Suchseite ist fertig.

Einfache Suchseiten erstellen

Wenn der Anwender auf den Suche-Button des Formulars klickt, werden die Suchparameter an eine Ergebnisseite auf dem Server gesendet. Die Ergebnisseite auf dem Server, nicht die Suchseite im Browser, ist dafür verantwortlich, Datensätze aus der Datenbank abzurufen. Wenn die Suchseite einen einzelnen Suchparameter an den Server übermittelt, kannst du die Ergebnisseite ohne SQL-Abfragen und Variablen aufbauen. Du erstellst ein grundlegendes Recordset mit einem Filter, der Datensätze ausschließt, die den von der Suchseite übermittelten Suchparameter nicht erfüllen.

Anmerkung

Wenn du mehr als eine Suchbedingung hast, musst du das erweiterte Recordset- Dialogfeld verwenden, um dein Recordset zu definieren (siehe Erweiterte Ergebnisseite aufbauen ).

Erstelle das Recordset für die Suchergebnisse

Öffne deine Ergebnisseite im Dokument­ fenster.

Wenn du noch keine Ergebnisseite hast, erstelle eine leere dynamische Seite (Datei > Neu > Leere Seite).

Erstelle ein Recordset, indem du das Bindings-Bedienfeld öffnest (Fenster > Bindings), auf den Plus-Button (+) klickst und Recordset aus dem Popup-Menü auswählst.
Vergewissern Sie sich, dass das einfache Dialogfeld „Datensatzgruppe“ angezeigt wird.
Datensatzgruppe (Dialogfeld)

Anmerkung

Wenn das erweiterte Dialogfeld anstatt dessen erscheint, wechsle zum einfachen Dialogfeld, indem du auf den Button Einfach klickst.

Geben Sie einen Namen für die Datensatzgruppe ein und wählen Sie eine Verbindung aus.

Die Verbindung sollte zu einer Datenbank bestehen, die Daten enthält, die der Anwender durchsuchen möchte.

Wähle im Tabelle-Popup-Menü die Tabelle aus, die in der Datenbank durchsucht werden soll.
Anmerkung

Bei einer Einzelparameter-Suche kannst du nur Datensätze in einer einzigen Tabelle suchen. Um mehrere Tabellen gleichzeitig zu durchsuchen, musst du das erweiterte Recordset-Dialogfeld verwenden und eine SQL-Abfrage definieren.

Um nur einige Spalten der Tabelle in das Recordset aufzunehmen, klicke auf Ausgewählt und wähle die gewünschten Spalten aus, indem du sie bei gedrückter Strg-Taste (Windows) oder Befehlstaste (Macintosh) in der Liste anklickst.

Du solltest nur die Spalten einbeziehen, die Informationen enthalten, die du auf der Ergebnisseite anzeigen möchtest.

Lasse das Recordset-Dialogfeld vorerst geöffnet.Du wirst es als nächstes verwenden, um die Parameter abzurufen, die von der Suchseite gesendet werden, und einen Recordset-Filter zu erstellen, um Datensätze auszuschließen, die die Parameter nicht erfüllen.

Datensatzgruppenfilter erstellen

Wähle aus dem ersten Popup-Menü im Filterbereich eine Spalte in der Datenbanktabelle aus, in der nach einer Anpassung gesucht werden soll.

Wenn beispielsweise der von der Suchseite gesendete Wert ein Stadtname ist, wähle die Spalte in deiner Tabelle aus, die Stadtnamen enthält.

Wähle aus dem Popup-Menü neben dem ersten Menü das Gleichheitszeichen aus (es sollte die Standardeinstellung sein).
Wähle aus dem dritten Popup-Menü Formularvariable aus, wenn das Formular auf deiner Suchseite die POST-Methode verwendet, oder URL-Parameter, wenn es die GET-Methode verwendet.

Die Suchseite verwendet entweder eine Formularvariable oder einen URL-Parameter, um Informationen an die Ergebnisseite zu übertragen.

Gib in das vierte Feld den Namen des Formularobjekts ein, das den Suchparameter auf der Suchseite akzeptiert.

Der Name des Objekts dient gleichzeitig als Name der Formularvariablen oder des URL-Parameters.Du kannst den Namen erhalten, indem du zur Suchseite wechselst, das Formularobjekt im Formular anklickst, um es auszuwählen, und den Namen des Objekts im Eigenschaftsinspektor überprüfst.

Angenommen, du möchtest ein Recordset erstellen, das nur Abenteuerreisen in ein bestimmtes Land enthält.und Ihre Tabelle enthält eine Spalte mit dem Namen TRIPLOCATION (Reiseziel). Nimm außerdem an, dass das HTML-Formular auf deiner Suchseite die GET-Methode verwendet und ein Menüobjekt namens Location enthält, das eine Liste von Ländern anzeigt.Das folgende Beispiel zeigt, wie dein Filterbereich aussehen sollte:

Formularobjektparameter

(Optional) Klicke auf Test, gib einen Testwert ein und klicke auf OK, um eine Verbindung zur Datenbank herzustellen und eine Instanz des Recordsets zu erstellen.

Der Testwert simuliert den Wert, der andernfalls von der Suchseite zurückgegeben worden wäre.Klicke auf OK, um das Test-Recordset zu schließen.

Wenn Sie mit der Datensatzgruppe zufrieden sind, klicken Sie auf „OK“.

Ein Server-seitiges Skript wird auf deiner Seite eingefügt, das jeden Datensatz in der Datenbanktabelle überprüft, wenn es auf dem Server ausgeführt wird.Wenn das angegebene Feld in einem Datensatz die Filterbedingung erfüllt, wird der Datensatz in ein Recordset aufgenommen.Das Skript baut ein Recordset auf, das nur die Suchergebnisse enthält.

Der nächste Schritt ist, das Recordset auf der Ergebnisseite anzuzeigen.Weitere Informationen findest du unter Suchergebnisse anzeigen.

Erweiterte Ergebnisseiten erstellen

Wenn die Suchseite mehr als einen Suchparameter an den Server sendet, musst du eine SQL-Abfrage für die Ergebnisseite schreiben und die Suchparameter in SQL-Variablen verwenden.

Anmerkung

Wenn du nur eine Suchbedingung hast, kannst du das einfache Recordset-Dialogfeld verwenden, um dein Recordset zu definieren (siehe Eine einfache Ergebnisseite erstellen).

Öffne die Ergebnisseite in Dreamweaver und erstelle dann ein Recordset, indem du das Bedienfeld Bindungen öffnest (Fenster > Bindungen), auf den Plus-Button (+) klickst und Recordset aus dem Popup-Menü auswählst.
Vergewissern Sie sich, dass das erweiterte Dialogfeld „Datensatzgruppe“ angezeigt wird.

Das erweiterte Dialogfeld enthält einen Textbereich zur Eingabe von SQL-Anweisungen. Wenn stattdessen das einfache Dialogfeld erscheint, wechsle zum erweiterten Dialogfeld, indem du auf den Button Erweitert klickst.

Geben Sie einen Namen für die Datensatzgruppe ein und wählen Sie eine Verbindung aus.

Die Verbindung sollte zu einer Datenbank bestehen, die Daten enthält, nach denen der Benutzer suchen möchte.

Geben Sie im SQL-Textbereich eine SELECT-Anweisung ein.

Stelle sicher, dass das Statement eine WHERE-Klausel mit Variablen enthält, die die Suchparameter aufnehmen. Im folgenden Beispiel heißen die Variablen varLastName und varDept:

SELECT EMPLOYEEID, FIRSTNAME, LASTNAME, DEPARTMENT, EXTENSION FROM EMPLOYEE ¬

WHERE LASTNAME LIKE 'varLastName' ¬

AND DEPARTMENT LIKE 'varDept'

Um die Tipparbeit zu reduzieren, kannst du den Baum der Datenbankeinträge unten im erweiterten Recordset-Dialogfeld verwenden. Anweisungen findest du unter Definieren eines erweiterten Recordsets durch Schreiben von SQL.

Hilfe zur SQL-Syntax findest du in der SQL-Einführung unter www.adobe.com/go/learn_dw_sqlprimer.

Gib den SQL-Variablen die Werte der Suchparameter, indem du auf den Plus-Button (+) im Bereich Variablen klickst und den Namen der Variable, den Standardwert (der Wert, den die Variable annehmen soll, wenn kein Laufzeitwert zurückgegeben wird) und den Laufzeitwert (normalerweise ein Serverobjekt, das einen vom Browser gesendeten Wert enthält, wie eine Request-Variable) eingibst.

Im folgenden ASP-Beispiel verwendet das HTML-Formular auf der Suchseite die GET-Methode und enthält ein Textfeld namens LastName und ein weiteres namens Department:

ASP-Beispiel

In ColdFusion wären die Laufzeitwerte #LastName# und #Department#. In PHP lauten die entsprechenden Laufzeitwerte $_REQUEST["LastName"] und $_REQUEST["Department"].

(Optional) Klicke auf Test, um eine Instanz des Recordsets mit den Standard-Variablenwerten zu erstellen.

Die Standardwerte simulieren die Werte, die andernfalls von der Suchseite zurückgegeben worden wären. Klicke auf OK, um das Test-Recordset zu schließen.

Wenn Sie mit der Datensatzgruppe zufrieden sind, klicken Sie auf „OK“.

Die SQL-Abfrage wird in Ihre Seite eingefügt.

Der nächste Schritt ist die Anzeige des Recordsets auf der Ergebnisseite.

Suchergebnisse anzeigen

Nachdem du ein Recordset zur Aufnahme der Such-Ergebnisse erstellt hast, musst du die Informationen auf der Ergebnisseite anzeigen. Die Anzeige der Datensätze kann eine einfache Sache sein: Du ziehst einzelne Spalten aus dem Bedienfeld Bindungen auf die Ergebnisseite. Du kannst Navigationslinks hinzufügen, um im Recordset vor- und zurückzublättern, oder du kannst eine sich wiederholende Region erstellen, um mehr als einen Eintrag auf der Seite anzuzeigen.Außerdem können Sie Hyperlinks in eine Detailseite hinzufügen.

Weitere Informationen zu Methoden zur Anzeige dynamischer Inhalte auf einer Seite außer der Anzeige von Ergebnissen in einer dynamischen Tabelle findest du unter Anzeigen von Datenbankdatensätzen.

Platziere den Cursor an der Stelle, wo die dynamische Tabelle auf der Ergebnisseite erscheinen soll, und wähle Einfügen > Datenobjekte > Dynamische Daten > Dynamische Tabelle.
Vervollständige das Dialogfeld Dynamische Tabelle und wähle das Recordset aus, das du zum Aufnehmen der Suchergebnisse definiert hast.
Klicken Sie auf „OK“. Eine dynamische Tabelle, die Suchergebnisse anzeigt, wird auf der Ergebnisseite eingefügt.

Erstelle eine Detailseite für eine Ergebnisseite

Dein Satz von Seiten für die Suche und Ergebnisse kann eine Detailseite enthalten, um weitere Informationen über bestimmte Datensätze auf der Ergebnisseite anzuzeigen.In dieser Situation fungiert deine Ergebnisseite auch als Musterseite in einem Master-Detail-Seitensatz.

Du kannst einen Link erstellen, der eine verwandte Seite öffnet und vorhandene Parameter an diese Seite weitergibt.Das Server-Verhalten ist nur verfügbar, wenn das ASP-Server-Modell verwendet wird.

Stelle bevor du einer Seite ein Server-Verhalten „Zu verwandter Seite wechseln" hinzufügst sicher, dass die Seite Formular- oder URL-Parameter von einer anderen Seite erhält.Die Aufgabe des Server-Verhaltens ist es, diese Parameter an eine dritte Seite weiterzugeben.Du kannst zum Beispiel Suchparameter, die von einer Ergebnisseite empfangen wurden, an eine andere Seite weiterleiten und dem Benutzer ersparen, die Suchparameter erneut einzugeben.

Du kannst auch Text oder ein Bild auf der Seite auswählen, um als Verknüpfung zur zugehörigen Seite zu dienen, oder du kannst deinen Zeiger auf der Seite positionieren, ohne etwas auszuwählen, und der Linktext wird eingefügt.

Klicke im Feld „Zu zugehöriger Seite wechseln" auf „Durchsuchen" und suche die zugehörige Seitendatei.

Wenn die aktuelle Seite Daten an sich selbst sendet, gib den Dateinamen der aktuellen Seite ein.

Wenn die Parameter, die du weiterleiten möchtest, direkt von einem HTML-Formular mit der GET-Methode empfangen wurden oder in der URL der Seite aufgelistet sind, wähle die Option URL-Parameter.
Wenn die Parameter, die du weiterleiten möchtest, direkt von einem HTML-Formular mit der POST-Methode empfangen wurden, wähle die Option Formularparameter.
Klicken Sie auf „OK“.

Wenn auf den neuen Link geklickt wird, übergibt die Seite die Parameter mithilfe einer Abfragezeichenfolge an die zugehörige Seite.