Übung 3 zu PHP/SQL

Werbung
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
Herunterladen