Bevor wir nun zur Besprechung des Programmcodes übergehen, speichern Sie die Seite im selben Verzeichnis wie die Webseite mit den Formularfeldern. Nennen Sie sie abfrage.php.
WICHTIG: Bevor Sie die Browservorschau aktivieren, um die Datenbankfunktionalität zu testen, müssen Sie zunächst angeben, dass diese Vorschau immer unter Verwendung des lokalen Webservers von Expression Web 2 erfolgen soll. Der Grund hierfür besteht darin, dass nur ein Webserver dazu in der Lage ist, die Formularfeldinhalte einer Seite an eine andere Seite zu übermitteln.
Um für die Browservorschau immer den lokalen Webserver zu verwenden, wählen Sie im Menü Website den Eintrag Websiteeinstellungen. Öffnen Sie im folgenden Dialogfeld die Registerkarte Vorschau, und aktivieren Sie unter Microsoft Expression Development Server verwenden das Optionsfeld Für alle Webseiten.
Öffnen Sie die Webseite mit den Formularfeldern in der Vorschauansicht, und geben Sie in das Feld neben Interpreteingabe beispielsweise Tears ein. (Sie müssen nicht den vollständigen Namen »Tears for Fears« eingeben. Das PHP-Programm begnügt sich auch mit einzelnen Namensteilen.) Klicken Sie anschließend auf die Schaltfläche Absenden.
Dieser Klick führt dazu, dass die PHP-Seite aufgerufen, der darin enthaltene Code ausgeführt und das Ergebnis angezeigt wird, wie in Abbildung 13.11 dargestellt.
Abbildung 13.11 Die PHP-Seite hat die Datenbank erfolgreich abgefragt
Wechseln Sie bitte zur Codeansicht der PHP-Seite. Das eigentliche PHP-Programm beginnt wie gewohnt mit der Übernahme der Formularfeldinhalte, die bereits früher in diesem Kapitel im Abschnitt »Formulardaten entgegennehmen« erläutert wurde:
Der Inhalt des Feldes Interpreteingabe wird in der Variablen $Interpret abgelegt, während der Inhalt des Feldes Titeleingabe in der Variablen $Titel gespeichert wird.
Auswertung der Benutzereingabe
Nun folgt ein if-Block:
if (strlen($Interpret)>=1)
{
$sqlc = "SELECT * FROM CD_Tabelle WHERE Interpret LIKE '%$Interpret%'";
}
elseif (strlen($Titel)>=1)
{
$sqlc = "SELECT * FROM CD_Tabelle WHERE Titel LIKE '%$Titel%'";
}
Hier wird mit der internen PHP-Funktion strlen geprüft, ob die Länge der in $Interpret gespeicherten Zeichenfolge größer oder gleich ein Zeichen ist. Auf diese Weise ermitteln wir, ob der Besucher etwas in das Formularfeld Interpreteingabe eingegeben hat. Wenn die Bedingung wahr ist, der Besucher also einen Interpreten eingegeben hat, definieren wir zwischen den geschweiften Klammern des ersten if-Blocks die SQL-Anweisung, die notwendig ist, um die Datenbank mit dem vom Besucher eingegebenen Interpreten abzufragen. Die SQL-Anweisung hat die folgende Form:
SELECT * FROM CD_Tabelle WHERE Interpret LIKE '%$Interpret%'
Denken Sie daran, dass $Interpret durch die Eingabe des Besuchers ersetzt wird. Hätte der Besucher somit beispielsweise Tears eingegeben, lautete die SQL-Anweisung wie folgt:
SELECT * FROM CD_Tabelle WHERE Interpret LIKE '%Tears%'
In unserer Sprache übersetzt hätte diese Anweisung ungefähr den folgenden Wortlaut: »Wähle alle Datensätze der Tabelle CD_Tabelle aus, deren Interpret-Datenfeld die Zeichenfolge Tears enthält.