PostgreSQL 10. März 2011 E3A Übung zu PHP/PostgreSQL 1. Gegeben sind folgende Tabellen der Datenbank kino kino=# select * from film; fid | titel | beschreibung | gid -----+----------------------------------------+----------------------------------------+----1 | auf der flucht | film mit harrison ford | 1 2 | existenz | realitaet und vorstellung verschwimmen | 3 3 | krieg und frieden | langatmiger historienschinken | 4 4 | full metal jacket | geht ziemlich unter die haut | 5 5 | rush | sinnloser kriegsfilm | 2 6 | der mann, der liberty valance erschoss | film von john ford | 6 kino=# select * from genre; gid | genre -----+----------------1 | thriller 2 | actionfilm 3 | science fiction 4 | historienfilm 5 | antikriegsfilm 6 | western Abbildung 2: Tabelle genre Abbildung 1: Tabelle film 2. Schreibe ein PHP-Skript (Suchformular), das die Suche nach Begriffen in der Spalte beschreibung ermöglicht. In der Eingabezeile des Formulars kann man mehrere Begriffe eingeben, die Spalte wird dann nach allen Begriffen durchsucht (UNDVerknüpfung). Tipps: • Die Suchbegriffe müssen in ein Array umgewandelt werden, verwende dazu die PHP-Funktion explode • Die Abfrage muss um so viele AND erweitert werden, wie Elemente in dem Array enthalten sind. Zum Beispiel: man gibt im Fomular nur »film« ein, so lautet die Abfrage verkürzt: Abbildung 3: Browseransicht select ... from ... where ... and beschreibung like %film%, gibt man aber »film ford« ein, so lautet die Abfrage: select ... from ... where ... and beschreibung like %film% and beschreibung like %ford% Dazu wird erstens der Punktoperator und zweitens ein foreach nötig sein. 1