Galileo Design < openbook > Galileo Design - Know-how für Kreative.
Know-how für Kreative

Inhaltsverzeichnis
1 Einleitung
2 Projektablauf für die Buchwebsite
3 Programmgrundlagen
4 Dreamweaver erweitern
5 Eine Site erstellen
6 Grundlegende Dokumenteinstellungen
7 Tabellen in Dreamweaver
8 Bilder im Web
9 Framesets
10 Aktionen
11 Die Zeitleiste
12 CSS in Dreamweaver
13 Ebenen
14 Hyperlinks
15 Vorlagen und Bibliotheken
16 Formulare
17 Quelltext de Luxe
18 Dreamweaver und Flash
19 Office-Daten einfügen
20 Dynamische Websites – eine Einführung
21 Einführung in PHP
22 Lokalen Webserver installieren
23 Dynamische Sites in Dreamweaver einrichten
24 MySQL-Grundlagen
25 Datenbanken mit Dreamweaver anbinden
26 PHP und Dreamweaver
27 Datenbanken abfragen
28 Daten einfügen und dynamische Formulare
29 Datensätze bearbeiten
30 Benutzer authentifizieren und Zugriffsrechte festlegen
31 Fortgeschrittene Techniken
32 Dreamweaver 8 und XML
33 Menüs für dynamische Verhalten
Stichwort

Download:
- ZIP, ca. 33 MB
Neuauflage bestellen
Ihre Meinung?

Spacer
 <<   zurück
Dreamweaver 8 von Richard Beer, Susann Gailus
Webseiten entwickeln mit HTML, CSS, XML, PHP und MySQL
Buch: Dreamweaver 8

Dreamweaver 8
mit CD
639 S., 39,90 Euro
Galileo Design
ISBN 978-3-89842-739-5
gp 27 Datenbanken abfragen
  gp 27.1 Das Bedienfeld Bindungen
  gp 27.2 Datensätze in Dreamweaver abfragen
    gp 27.2.1 Einfache Abfragen erstellen
    gp 27.2.2 Anzeigen von Datensätzen
    gp 27.2.3 Formatieren in der Live Data-Ansicht
    gp 27.2.4 Erweiterte Abfragen erstellen
    gp 27.2.5 Mehrere Datensätze abfragen
    gp 27.2.6 Bestimmte Datensätze abfragen
    gp 27.2.7 Datensatz-ID mit URL übergeben
    gp 27.2.8 Einstellbare Variablentypen
    gp 27.2.9 Testen der Abfragen
  gp 27.3 Dynamische Tabellen
    gp 27.3.1 Erstellen einer dynamischen Tabelle
    gp 27.3.2 Dynamische Tabelle mit Serververhalten
  gp 27.4 Bilder dynamisch einfügen
    gp 27.4.1 Bilder aus Datenbanken verlinken
    gp 27.4.2 Vorbereitungen für dynamisch eingefügte Bilder
  gp 27.5 In Datensätzen navigieren
    gp 27.5.1 Datensatznavigation erstellen
    gp 27.5.2 Bereiche in Abhängigkeit von Daten anzeigen
    gp 27.5.3 Datensatzanzahl anzeigen
    gp 27.5.4 Individuelle Datensatznavigationen erstellen
  gp 27.6 HTML-Attribute dynamisch generieren
    gp 27.6.1 Eigenschaften aus Datenquellen einfügen
    gp 27.6.2 Daten in der URL mit Hyperlinks übergeben
  gp 27.7 Automatische Master- und Detailseiten
  gp 27.8 Ausgabe formatieren
  gp 27.9 Aufbau der dynamischen Inhalte der Buchwebsite
    gp 27.9.1 Das Funktionsschema
    gp 27.9.2 Die Masterseite
    gp 27.9.3 Die Detailseiten


Galileo Computing

27.2 Datensätze in Dreamweaver abfragen  downtop


Galileo Computing

27.2.1 Einfache Abfragen erstellen  downtop

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.


Galileo Computing

27.2.2 Anzeigen von Datensätzen  downtop

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.


Galileo Computing

27.2.3 Formatieren in der Live Data-Ansicht  downtop

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.


Galileo Computing

27.2.4 Erweiterte Abfragen erstellen  downtop

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


Galileo Computing

27.2.5 Mehrere Datensätze abfragen  downtop

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.


Galileo Computing

27.2.6 Bestimmte Datensätze abfragen  downtop

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.


Galileo Computing

27.2.7 Datensatz-ID mit URL übergeben  downtop

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.


Galileo Computing

27.2.8 Einstellbare Variablentypen  downtop

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.

Galileo Computing

27.2.9 Testen der Abfragen  toptop

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.



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






 <<   zurück
  
  Zum Katalog
Zum Katalog: Adobe Dreamweaver CS3
Die Neuauflage:
Adobe Dreamweaver CS3
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Adobe Dreamweaver CS3 - Der praktische Einstieg






 Adobe Dreamweaver
 CS3 - Der praktische
 Einstieg


Zum Katalog: Adobe Dreamweaver CS3 - Videotraining






 Adobe Dreamweaver
 CS3 - Videotraining


Zum Katalog: Adobe Flash CS3 - Videotraining






 Adobe Flash CS3 -
 Videotraining


Zum Katalog: Adobe Photoshop CS3






 Adobe Photoshop CS3


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Galileo Press 2006
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Design]
[Schulungen direkt von den Autoren: firstART- Agentur für Design und Consulting]
Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de