Suchabfragen optimal zusammenstellen

Suchabfragen optimal zusammenstellen

am 06.03.2006 21:46:16 von Irmgard Schwenteck

Hallo,

ich versuchs mal möglichst kurz zu formulieren:
Benutzer sollen über ein Formular Datensätze aus einer Tabelle suchen,
d.h. durch Eingaben in verschiedene Felder wird der SQL-String
zusamengebaut.
Einige Felder der Tabelle unterliegen Fremdschlüssel-Einschränkungen, in
den Feldern sind IDs gespeichert, der Rest steht in anderen Tabellen.
z.B. es gibt eine Spalte katID und eine Tabelle Kategorie mit
1 Frühjahr
2 Sommer
3 Herbst
4 Winter

Die Auswahl dieser Suchkriterien wird durch multiple selects realisiert.
Soweit kein Problem, kommt dann so etwas zusammen wie select x,y,z,
katID from table where katID=1 or katID=3

1. Bei der Ausgabe der Suchergebnisse sollte nun noch erscheinen: Sie
suchten nach "Frühjahr" und "Herbst"
2. und in der Ergebnisliste muß in jeder Zeile noch die
Kategoriebezeichnung stehen.
(Es sind 5 solche Felder in der Tabelle)

Es klingt eigentlich trivial, aber ich steh auf dem Schlauch.
zu 1. Schreib ich beim Zusammenstellen des SQL-strings noch ein array
mit den Suchkriterien für jedes Feld? Also
$suchekat[1]="Frühjahr";
$suchekat[3]="Herbst"; ?

zu 2. Das wird dann ein join über 6 Tabellen -
oder 5 einzelne Abfragen für jede Ergebniszeile -
oder gibt es da noch eine bessere Lösung mit arrays?

Gruß
Irmgard