27.2 Datensätze in Dreamweaver abfragen
27.2.1 Einfache Abfragen erstellen
Um eine einfache Abfrage zu erstellen, klicken Sie im Bedienfeld Bindungen auf das Plus-Symbol und wählen Datensatzgruppe (Abfrage) aus (siehe Abbildung 27.3). Neben der Möglichkeit, Abfragen durchzuführen, können hier auch andere Variablen deklariert werden. Dies wurde bereits in Kapitel 26 beschrieben.
Abbildung 27.3 Bindungen erstellen
Name der Abfrage | Es erscheint die Dialogbox Datensatzgruppe (siehe Abbildung 27.4). Hier müssen Sie der Abfrage einen Namen zuweisen und eine Verbindung definieren. Geben Sie unter Name zuerst einen eindeutigen Namen im Rahmen der gültigen Konventionen für UNIX-Systeme ein. In unserem Beispiel haben wir die Abfrage »Abfrage_1« genannt.
Abbildung 27.4 Namensvergabe und Verbindungsauswahl
Datenbankanbindung auswählen | In der Auswahlliste Verbindung wählen Sie eine bereits erstellte Datenbankanbindung aus. In unserem Beispiel heißt die Anbindung einfach »TestScript«. Anfangs ist es hilfreich, die Reihenfolgen des Schemas auch bei der Arbeitsweise beizubehalten. Mit zunehmender Erfahrung können Sie auch mehrere Schritte auf einmal erledigen. Die Datenbankanbindung kann in dieser Dialogbox auch gleich beim Anlegen einer Abfrage definiert werden.
Achten Sie darauf, dass zunächst kein Erweiterter Modus der Dialogbox eingeschaltet ist. Falls die Dialogbox anders aussieht als auf unserem Bild, klicken Sie auf die im erweiterten Modus erscheinende Schaltfläche Einfach, um wieder in den Startmodus zu gelangen.
Bei erfolgreicher Konnektierung stehen Ihnen jetzt im Menü Tabelle alle Tabellen der ausgewählten Datenbank zur Verfügung.
Abbildung 27.5 Auswahl der Tabellen mit den Daten
Tabellen abfragen | Jetzt können Sie die abzufragenden Tabellen auswählen. In unserem Beispiel steht nur eine Tabelle zur Verfügung, die auch automatisch vorausgewählt ist. Im nächsten Schritt beim Erstellen einer Datenbankabfrage müssen Sie Dreamweaver 8 mitteilen, welche Spalten abgefragt werden sollen (siehe Abbildung 27.6). Dabei können Sie unterscheiden, ob Sie alle abfragen wollen oder nur einzelne. Wenn Sie Alle aktivieren, entspricht dies in der SQL-Anweisung dem Befehl SELECT * FROM.
Abbildung 27.6 Auswahl der Tabellenspalten und Festlegung der Sortierreihenfolge
Wir möchten uns nur die Inhalte der Tabellenspalten »Vorname«, »Name« und »Wohnort« anzeigen lassen. Daher aktivieren wir die Option Ausgewählt. Durch Drücken der Taste / und Klicken auf die Spaltennamen können mehrere Spalten gleichzeitig ausgewählt werden.
Daten sortieren | Nach der Auswahl der abzufragenden Spalten legen wir noch die Sortierung der Daten fest. Stellen Sie das Feld, nach dem sortiert werden soll, im Menü Sortieren ein, und wählen Sie daneben die Reihenfolge der Sortierung aus . In der SQL-Anweisung entspricht das in unserem Beispiel einem ORDER BY Name ASC oder alternativ bei absteigender Sortierung ORDER BY Name DESC.
Abfrage testen | Wenn Sie in der Dialogbox Datensatzgruppe auf Testen klicken, können Sie das Ergebnis Ihrer Abfrage überprüfen, ohne dass Änderungen im Quellcode vorgenommen werden.
Wenn Sie auf OK klicken, erscheinen im Bedienfeld Bindungen die neuen Einträge.
Abbildung 27.7 Neue angebundene Datenquellen im Bedienfeld Bindungen
Hier werden Ihnen die abgefragten Tabellenspalten angezeigt, wenn Sie auf das kleine Plus-Symbol vor dem Namen der Datensatzgruppe klicken. Wenn Sie die Parameter der Abfrage nachträglich ändern möchten, können Sie dies durch einen Doppelklick auf die Datensatzgruppe erreichen. Sie erhalten dann wieder die soeben beschriebene Dialogbox angezeigt.
Im Bedienfeld Serververhalten erscheint nun ebenfalls ein Eintrag, der Ihnen für weitere Aktionen zur Verfügung steht (siehe Abbildung 27.8).
Abbildung 27.8 Bedienfeld Serververhalten
Zunächst benötigen wir dieses Bedienfeld noch nicht. Achten Sie anfangs immer darauf, welche Veränderungen sich in anderen Bedienfeldern der Bedienfeldgruppe Anwendung ergeben, wenn Sie etwas Neues hinzufügen oder entfernen. So erschließen sich Ihnen mit der Zeit die Zusammenhänge.
Veränderungen im Quelltext | Im Quelltext sind jetzt weitere Eintragungen hinzugekommen, ohne dass Sie Auswirkung in Ihrem Dokument sehen. Da wir bislang nur die Bindungen bearbeitet haben, wurde zunächst nur die Basis für das Anzeigen von dynamischen Daten geschaffen, aber noch keine Anzeige eingefügt.
Ganz oben im Quelltext sehen Sie den Verweis auf das Skript mit der Datenbankanbindung:
Listing 27.1 Quelltextzeile der Datenbankanbindung
<?php require_once('Connections/TestScript.php'); ?>
Die eigentliche Datenbankabfrage folgt nach der Konnektierung. Dreamweaver 8 erstellt in diesem Fall das Array $row_Headline_ News und eine weitere Variable $totalRows_Headline_News mit der Anzahl der Datensätze für weitere mögliche Aktionen. Diese Variablen erscheinen in der Standardschreibweise, da eine Übertragung über die URL nicht erfolgen wird:
Listing 27.2 Quelltext einer Bindung bzw. der Abfrage
<?php mysql_select_db($database_TestScript, $TestScript); $query_Abfrage_1 = "SELECT Vorname, Name, Wohnort FROM testtabelle ORDER BY Name ASC"; $Abfrage_1 = mysql_query($query_Abfrage_1, $TestScript) or die(mysql_error()); $row_Abfrage_1 = mysql_fetch_assoc($Abfrage_1); $totalRows_Abfrage_1 = mysql_num_rows($Abfrage_1); ?>
Ganz unten im Dokument finden Sie die folgenden Zeilen:
Listing 27.3 Quelltextzeile der Datenfreigabe
<?php mysql_free_result($Abfrage_1); ?>
Dieser Befehl bewirkt die Freigabe der Daten nach einer erfolgten Abfrage. Es ist bei MySQL nicht zwingend notwendig, die Daten wieder freizugeben. Eindeutiger und sauberer in der Programmierung ist es in jedem Fall. Es gilt, beim Programmieren immer Eindeutigkeit zu erreichen.
Anmerkungen zum von Dreamweaver erstellten Quelltext |
Wenn Sie sich als eventuell erfahrener Programmierer den von Dreamweaver erstellten Quelltext näher ansehen, werden Sie feststellen, dass Dreamweaver alles das generiert, was man eigentlich unbedingt vermeiden sollte. In der Tat erzeugt Dreamweaver 8 ein einziges wildes Gemisch aus Inhalten, PHP, SQL und HTML. Wenn Sie ein umfangreiches Projekt zu realisieren haben, werden Sie daher sicherlich von den visuellen Methoden Abstand nehmen müssen, da der erstellte Quelltext kaum pflegbar ist. Für einfachere dynamische Websites ist der erstellte Quelltext aber durchweg brauchbar und absolut funktionstüchtig. Es muss nicht beim kleinsten Newsbereich oder Mini-CMS auf objektorientierte Programmierung etc. zurückgegriffen werden. Das wäre sonst oft so, wie mit Kanonen auf Spatzen zu schießen. |
27.2.2 Anzeigen von Datensätzen
Um die Datensätze in Ihrem Dokument anzuzeigen, ziehen Sie diese einfach mit der Maus aus dem Bedienfeld Bindungen in Ihr Dokument. Die nun eingefügten Datensätze werden hellblau hinterlegt und als Platzhalter dargestellt.
Abbildung 27.9 Eingefügte Datensätze werden als hellblaue Platzhalter dargestellt.
In Ihrem Quelltext sind nun, wenn Sie alle drei Datensätze eingefügt haben, drei weitere Zeilen hinzugekommen. Sie bewirken die Ausgabe des ersten Datensatzes aus dem Array $row_Abfrage_1:
Listing 27.4 Quelltextzeilen der angezeigten Datensätze
<?php echo $row_Abfrage_1['Name']; ?> <?php echo $row_Abfrage_1['Vorname']; ?> <?php echo $row_Abfrage_1['Wohnort']; ?>
Aktivieren Sie die Live Data-Ansicht, um die Datensätze in der Vorschau zu sehen. Diese aus einer Datenbank generierten Ansichten werden hellgelb hinterlegt.
Abbildung 27.10 Datensätze werden in der Live Data-Ansicht hellgelb hinterlegt.
Nach dem Einfügen der Datensätze in das Dokument erscheinen im Bedienfeld Serververhalten weitere Einträge.
Abbildung 27.11 Neue Einträge für das Serververhalten nach dem Einfügen der Datensätze in das Dokument
Wenn Sie eine Seite mit Datenbankabfragen bearbeiten möchten, bietet es sich an, dies in der Live Data-Ansicht vorzunehmen. Dort erhalten Sie nicht nur eine Vorschau der Datensätze, sondern sehen, wie diese auf der Website wirklich aussehen werden.
Wie Sie sehen, ist es nicht schwer, eine Datenbank abzufragen und in einer Website anzuzeigen. Um professionelle, dynamische Websites zu erstellen, raten wir Ihnen, immer wieder in die Codeansicht zu wechseln, um ein Gespür für die dahinter liegende Technologie zu bekommen.
27.2.3 Formatieren in der Live Data-Ansicht
Datensätze können immer nur als Ganzes markiert und formatiert werden. Eine Eingriffsmöglichkeit in den Datensatz selbst besteht dabei nicht. Sie können daher zum Beispiel die ersten Zeichen eines Datensatzes nicht rot hervorheben oder innerhalb eines Datensatzes einen Zeilenumbruch einfügen.
Ansonsten stehen Ihnen in der Live Data-Vorschau alle Layoutmöglichkeiten zur Verfügung, wie sie Ihnen auch von der Arbeit an statischen Sites bekannt sind. Sie können die Datensätze nahezu beliebig verschieben, in Tabellen setzen und mit CSS-Stilen formatieren.
Beim Einfügen von Datensätzen in Tabellen gibt es immer wieder kleinere Positionierungsprobleme, die sich im Entwurfsmodus schwer beheben lassen. Meistens basieren diese Fehler einfach nur auf überflüssigen <p>-Tags oder Leerzeichen. Wechseln Sie am besten in die Codeansicht, um die überflüssigen Elemente zu entfernen.
27.2.4 Erweiterte Abfragen erstellen
In der soeben erstellten Abfrage mussten Sie sich nicht um SQL-Befehle kümmern. Dreamweaver 8 hat Ihnen diese Arbeit abgenommen. In der Praxis kommt es jedoch häufiger vor, dass Sie modifizierte SQL-Befehle benötigen.
Um SQL-Befehle zu editieren, klicken Sie sich über das Bedienfeld Anwendung • Bindungen, das Pluszeichen und Datensatzgruppe (Abfrage) in die Dialogbox Datensatzgruppe und aktivieren dort den erweiterten Modus (siehe Abbildung 27.12).
Im erweiterten Modus müssen Sie der Abfrage wieder einen Namen zuweisen und eine Verbindung definieren. Nachdem Sie eine Datenbank ausgewählt haben, erscheinen im Fenster Datenbankelemente die einzelnen verfügbaren Tabellen mit ihren Spalten. Klicken Sie auf die Plus-Symbole, dann werden die Tabellen geöffnet. Um eine Tabellenspalte abzufragen, markieren Sie die gewünschte Spalte und klicken anschließend auf die Schaltfläche Select (siehe Abbildung 27.13).
Mehrere Spalten abfragen | Um mehrere Tabellenspalten zur Abfrage hinzuzufügen, wiederholen Sie diesen Schritt für jede einzelne Spalte. Dabei werden keine neuen SELECT-Abfragen eingefügt, sondern nur die zusätzlichen Spalten in die bestehende Abfrage eingebunden.
Abbildung 27.12 Auswahl der Tabellen in der Dialogbox Datensatzgruppe
Abbildung 27.13 Mit SQL-Befehlen Tabellenspalten abfragen
Datensätze sortieren | Eine Sortierung können Sie einfügen, indem Sie die Spalte, nach der sortiert werden soll, anwählen und anschließend auf ORDER BY klicken. Die Sortierreihenfolge DESC für absteigend oder ASC für aufsteigend müssen Sie von Hand eintragen.
Abbildung 27.14 Fertige Abfrage mit Sortierung im erweiterten Modus
Wie Sie sehen, ist die Abfrage nun fertig gestellt, wenn auch der SQL-Befehl etwas umständlich geschrieben wurde. Schalten Sie jetzt einfach in den einfachen Modus (Einfach...) um. Manchmal werden hierbei von Hand geschriebene Eintragungen entfernt. Schalten Sie jetzt wieder in den erweiterten Modus. Die SQL-Abfrage ist nun optimiert und wird in der üblichen Schreibweise angezeigt (siehe Abbildung 27.15). Für die Funktion selbst spielt es keine Rolle, welche Schreibweise verwandt wird.
Wenn Sie nicht im Quelltext arbeiten möchten, können Sie Ihre Abfragen auch im einfachen Modus erstellen, um dann im erweiterten Modus die gewünschten Änderungen vorzunehmen.
Wie Sie feststellen, wird mit diesen soeben vorgestellten Vorgehensweisen immer nur ein Datensatz angezeigt. Möchten Sie mehrere Datensätze aus einer Tabelle anzeigen, benötigen Sie zusätzlich ein Serververhalten.
Abbildung 27.15 Optimierte Schreibweise der SQL-Abfrage nach Umschalten in einfachen und erweiterten Modus
27.2.5 Mehrere Datensätze abfragen
Sie können die Art der Datenanzeige im Bedienfeld Serververhalten variieren. Serververhalten steuern die Anzeige der Daten in Ihrem Dokument. Häufig müssen mehrere Datensätze einer Tabelle gleichzeitig angezeigt werden. In unserem Beispiel möchten wir alle in Tabelle »Testtabelle« vorhandenen Datensätze auslesen und in das Dokument ausgeben. Benötigt wird diese Vorgehensweise bei Listen, Auswahlmenüs usw.
Wechseln Sie zuerst in der Bedienfeldgruppe Anwendung auf Serververhalten. Markieren Sie im Dokument denjenigen Bereich, den Sie wiederholen wollen (siehe Abbildung 27.16). Eine Auswahl im Bedienfeld Serververhalten funktioniert leider nicht. Wir möchten gleich die gesamte Tabelle mit den Datensätzen wiederholt ausgeben. Daher müssen Sie die gesamte Tabelle anwählen.
Das von uns benötigte Serververhalten heißt Bereich wiederholen. Markieren Sie daher mit gedrückter -Taste die einzelnen Datenfelder in Ihrem Dokument.
Wählen Sie anschließend im Bedienfeld Serververhalten durch Klicken auf das Plus-Symbol die Option Bereich wiederholen aus, um zur Dialogbox in Abbildung 27.16 zu gelangen. Jetzt müssen Sie im Popup-Menü den gewünschten Datensatz bestimmen. Ihnen stehen nun die Optionen Alle Datensätze anzeigen oder die Beschränkung auf eine bestimmte Anzahl von Datensätzen zur Verfügung. Wir zeigen in unserem Beispiel alle Datensätze an.
Abbildung 27.16 Bedienfeld Serververhalten und markierter Text
Abbildung 27.17 Dialogbox für Bereich wiederholen
Im Anschluss sehen Sie im Dokument den wiederholten Bereich in einem grauen Rahmen angezeigt. Sie können die Parameter des wiederholten Bereichs jederzeit ändern, indem Sie im Bedienfeld Serververhalten den jeweiligen Eintrag doppelklicken.
Abbildung 27.18 Anzeige des wiederholten Bereichs im Dokument
Anzeige in der Live-Data-Ansicht | Wenn Sie jetzt zur Live Data-Ansicht wechseln, werden die Datensätze angezeigt.
Abbildung 27.19 Der wiederholte Bereich in der Live Data-Ansicht
Wenn Sie jetzt in die Codeansicht wechseln, finden Sie im Quelltext den folgenden neuen Eintrag:
Listing 27.5 Wiederholter Bereich im Quelltext
<?php do { ?> <table width="600" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="200"><?php echo $row_Abfrage_1['Name']; ?></td> <td width="200"><?php echo $row_Abfrage_1['Vorname']; ?></td> <td width="200"><?php echo $row_Abfrage_1['Wohnort']; ?></td> </tr> </table> <?php } while ($row_Abfrage_1 = mysql_fetch_assoc($Abfrage_1)); ?>
Der ganze Block für die Anzeige läuft innerhalb einer do-while-Schleife. Diese wird so lange ausgeführt, wie Datensätze vorhanden sind.
27.2.6 Bestimmte Datensätze abfragen
Mehrere Datensätze muss man häufig für Übersichts- bzw. Auswahlseiten gleichzeitig anzeigen, zum Beispiel um eine Übersicht aller Einträge zu erhalten.
Auf den Unterseiten einer Website müssen Sie jedoch in den meisten Fällen einen Datensatz anhand einer ID auswählen und nur diesen anzeigen lassen. Dies geschieht mit dem SQL-Befehl WHERE. So zeigt zum Beispiel SELECT * FROM testtabelle WHERE ID = 2 den Datensatz mit der ID 2 aus der Tabelle »Testtabelle« an.
Mit Dreamweaver 8 können Sie solche Parameter beim Anlegen der Bindungen bereits vorgeben und so auf jeder Unterseite bestimmen, welcher Datensatz der ausgewählten Tabellen angezeigt wird.
Die Auswahl der anzuzeigenden Datensätze erfolgt am besten immer über den Primärschlüssel. In einer relationalen Datenbank ist dieser Wert absolut eindeutig. In unseren Beispielen ist der Primärschlüssel bzw. das als Primärschlüssel deklarierte Feld das Feld mit der Bezeichnung ID.
Öffnen Sie zum Abfragen eines bestimmten Datensatzes die entsprechende Datensatzgruppe oder legen Sie eine neue an.
Abbildung 27.20 Auswahl eines bestimmten Datensatzes für die Datenbankabfrage
Filter auf Abfragen anwenden | Unter Filter wählen Sie jetzt die Tabellenspalte mit Ihrem Primärschlüssel aus. In unserem Fall ist es die Spalte ID. Bei dieser Abfrage möchten wir die Werte selbst eingeben. Wählen Sie daher aus dem Menü unter Filter das Feld Eingegebener Wert aus. Rechts neben Filter finden Sie eine Auswahl möglicher Vergleichsoperatoren.
Vergleichsoperator verwenden | Da wir möchten, dass der eingegebene Wert dem Wert in der Tabellenspalte entspricht, müssen Sie das Gleichheitszeichen auswählen. Bei SQL wird das mathematische Gleichheitszeichen verwendet (bei PHP wäre dies das Zeichen ==).
Nun müssen Sie noch rechts neben Eingegebener Wert den Wert eintragen, der in Ihrer Tabellenspalte vorkommt und angezeigt werden soll. In unserem Fall ist es der Datensatz mit der ID 2.
Wenn Sie jetzt in die erweiterte Ansicht umschalten, sehen Sie gleich die Auswirkungen im SQL-Befehl. Dreamweaver 8 hat an den bisherigen Befehl ein WHERE ID = 2 angehängt.
Abbildung 27.21 Eine einzelne Datensatzabfrage in der erweiterten Ansicht
In der Live Data-Ansicht sehen Sie jetzt den Datensatz mit der ID 2.
Abbildung 27.22 Live Data-Ansicht mit der ID 2
Öffnen Sie die Abfrage nochmals und ändern Sie die ID auf 1. Betrachten Sie anschließend Ihr Dokument in der Live Data-Ansicht erneut. Wenn alles korrekt verlaufen ist, wird Ihnen jetzt der Datensatz mit der ID 1 angezeigt.
Abbildung 27.23 Live Data-Ansicht mit nachträglich veränderter ID auf Wert 1
Mit dieser Vorgehensweise können Sie bereits erste eigene dynamische Seiten aufbauen. Sie können zum Beispiel die gesamten Texte einer Website in einer MySQL-Datenbank hinterlegen und für jedes Dokument eine eigene Abfrage mit einer anderen Datensatz-ID schreiben. Neue Texte kopieren Sie einfach mit phpMyAdmin in die MySQL-Datenbank. Diese Abfragen funktionieren selbstverständlich auch mit MS SQL, Access und anderen Datenbanksystemen.
Der Nachteil dieser Vorgehensweise ist, dass Sie immer noch für jeden Datensatz ein eigenes Dokument mit einer eigenen Abfrage benötigen. Wesentlich komfortabler wird es, wenn man die ID mit einer Variablen übergibt und die Abfrage mit dieser ausführt.
27.2.7 Datensatz-ID mit URL übergeben
Abfragen können – wie Sie eben gesehen haben – mit einem festen Wert durchgeführt werden. Da wir mit PHP arbeiten, kann dieser Wert auch in einer Variablen stehen und je nach vorheriger Auswahl oder Aktion verschiedene Inhalte annehmen.
So könnte eine Website aus einer Adressübersicht bestehen. Klickt man auf einen Namen, erscheint in einem neuen Dokument der Detaildatensatz. Anstelle des festen Wertes wie im Abschnitt eben, werden dann die deklarierten Variablen eingefügt. Das erste Dokument übergibt so die Variable mit einem beliebigen Inhalt an das zweite Dokument. Im zweiten Dokument wird die Abfrage dann mit dem Inhalt der übergebenen Variablen durchgeführt.
Abbildung 27.24 Variablenübergabe an SQL-Abfrage
Diese Vorgehensweise ist die mit Abstand häufigste und nach einiger Übung auch effektivste. Bislang mussten Sie noch für jeden Inhalt ein eigenes Dokument anlegen. Jetzt können Sie beliebig viele unterschiedliche Inhalte in einem einzigen Dokument darstellen. Prinzipiell kann eine Website mit 5000 verschiedenen Unterpunkten aus einem einzigen PHP-Dokument bestehen.
Dynamische Navigation | Eine Auswahlliste ist im Prinzip nichts anderes als eine Navigation. Nach diesem Schema können Sie auch eine Navigation aufbauen, die in einem Teil des Dokuments dargestellt wird und im anderen Dokumentbereich die Inhalte anzeigen lässt. Wenn Sie mit der Navigation die Datensatz-IDs übergeben und dieses Dokument auf sich selbst verlinken, können Sie äußerst umfangreiche Internetseiten mit einem einzigen PHP-Dokument erstellen. Zusätzlich können Sie die Darstellung der Navigation verändern, wenn die übergebene Variable mit dem Wert in der Navigation übereinstimmt.
URL-Parameter übergeben | Öffnen Sie die bestehende Datensatzgruppe und wählen Sie im Menü unterhalb Filter statt Eingegebener Wert nun URL-Parameter aus. Rechts daneben müssen Sie nun den Namen der übergebenen Variablen eintragen. In unserem Fall soll die Variable mit dem Namen ID die ID für den Datensatz an das Dokument übertragen.
Abbildung 27.25 Variablenübergabe an SQL-Abfrage mit URL-Parametern
Schalten Sie jetzt in die erweiterte Ansicht um, dann sehen Sie einige neue Eintragungen. Dreamweaver 8 hat im Feld Variablen eine Variable colname eingetragen. Rechts daneben steht ein Standardwert 1 und ein Laufzeitwert $_GET['ID'].
Abbildung 27.26 URL-Parameter in der erweiterten Ansicht
Die Variable colname hat Dreamweaver 8 selbsttätig erstellt, da der übertragene Wert nochmals zwischengespeichert wird, um Fehler abzufangen. Wenn keine Variable mit dem Namen ID übertragen oder mit der falschen Methode übermittelt wird, erhält die Variable colname den Standardwert –1.
–1 kann dann eventuell eine Website mit einer Fehlermeldung anzeigen, und zwar nach dem Schema:
if(colname == –1) { gehe zu. }
Läuft die Übertragung hingegen korrekt, wird der Inhalt von $_GET ['ID'] in die Variable colname geschrieben, und Sie erhalten den gewünschten Datensatz angezeigt.
Abfrage testen | Zum Testen dieser Abfrage müssen Sie die Variable ID an das Dokument mit der Methode GET übertragen. Die Live Data-Ansicht von Dreamweaver 8 verfügt über Funktionen, diese Datenübertragung zu simulieren und die Dokumente auch unter realen Bedingungen zu testen.
Öffnen Sie dazu im Dokumentfenster die Live Data-Einstellungen, indem Sie auf die Schaltfläche Einstellungen im Arbeitsbereich rechts oben klicken. Dieser Button ist nur dann zu sehen, wenn Sie einen Testserver angelegt haben und auch mit bestehenden Datenbankabfragen arbeiten.
Abbildung 27.27 Live Data-Einstellungen in Dreamweaver 8
In der Dialogbox Live Data-Einstellungen können Sie Variablen und die Übertragungsmethode anlegen, die beim Umschalten in die Live Data-Ansicht übergeben werden sollen. Für unser Dokument benötigen wir die Variable CONT_ID mit dem Wert 2 und der Methode GET, mit der Variablen einfach offen an die URL angehängt versendet werden.
Abbildung 27.28 Variablen und Methoden in der Live Data-Ansicht anlegen
In der Live Data-Ansicht sehen Sie jetzt Ihr Dokument mit der übergebenen Variablen ID.
Abbildung 27.29 Variablenübergabe in Live Data-Ansicht testen
Probieren Sie eine andere Datensatz-ID aus, indem Sie diese einfach in das Parameterfenster schreiben. Haben Sie bereits mehrere Varianten getestet, können Sie zwischen diesen in einer Art »Verlauf« auswählen. Bei einer Veränderung der Parameter müssen Sie ab Dreamweaver 8 die Live Data-Ansicht nicht mehr beenden und neu starten, um die Vorschau zu aktualisieren.
27.2.8 Einstellbare Variablentypen
In der Dialogbox Datensatzgruppe können Sie neben den URL-Parametern auch noch weitere Variablentypen zur Grundlage Ihrer Abfrage machen (siehe Abbildung 27.30).
Abbildung 27.30 Abfrage mit verschiedenen Variablentypen definieren
Im Folgenden eine Auflistung der einzelnen, in Dreamweaver für Abfragen verfügbaren Variablen und ihr Einsatzzweck:
- URL-Parameter ($_GET['VARIABLENNAME']) werden mit der Methode GET übertragen und dienen in erster Linie zur Auswahl von Datensätzen aus einer Navigation, wobei die Variable und ihr Wert in einer Verlinkung an die URL angefügt wird.
- Formularvariablen ($_POST['VARIABLENNAME']) werden aus Formularen mit der Methode POST heraus versandt und hauptsächlich zum Einfügen von Datensätzen verwendet. Auch Suchanfragen werden in der Regel mit der Methode POST übertragen und benötigen eine Formularvariable als Abfragebasis.
- Sitzungsvariablen ($_SESSION['VARIABLENNAME']), auch Sessionvariablen genannt, werden in Sessions registriert, die mit PHP für jeden Seitenzugriff gestartet werden. Sitzungsvariablen müssen zunächst registriert werden, um dann für eine Abfrage zur Verfügung zu stehen.
- Cookie-Variablen ($_COOKIE['VARIABLENNAME']) ermöglichen die Abfrage von Cookies. Diese stellen ähnliche Funktionen wie Sessions zur Verfügung, müssen allerdings zwingend auf dem Clientrechner hinterlegt werden. In Cookies gespeicherte Variablen können Sie als Grundlage einer Abfrage verwenden. Es besteht dabei das Risiko, dass ein User Cookies gesperrt hat. In diesem Fall funktionieren Abfragen auf Cookie-Basis nicht.
- Servervariablen ($_SERVER['VARIABLENNAME']) sind Variablen aus der Serverumgebung. Für Abfragen werden sie selten verwendet.
- Mit einem eingegebenen Wert (VARIABLENNAME) legen Sie eine Variable mit einem festen Wert an und führen Ihre Abfrage mit diesem festen Wert durch.
27.2.9 Testen der Abfragen
Sie müssen Abfragen nicht in Ihr Dokument einfügen, um Sie in der Live Data-Ansicht zu überprüfen. In der Dialogbox für Abfragen stellt Ihnen Dreamweaver 8 eine Funktion zum Überprüfen Ihrer Abfragen zur Verfügung.
Abbildung 27.31 Überprüfung der Abfragen
Klicken Sie dazu, nachdem Sie eine Abfrage erstellt haben, im Dialogfenster Datensatzgruppe auf Testen, geben Sie einen Parameter ein, und ein weiteres Fenster mit den Ergebnissen Ihrer Abfrage öffnet sich.
Besonders bei komplexen Abfragen ist es besser, die Abfragen vor dem Einfügen in ein Dokument auf ihre Funktion hin zu überprüfen.