» Meine Frage an euch lautet also:
Wie kann ich den SQL-Befehl so variieren das der User entweder 1, 2 oder 3 Auswahlfelder ändern kann und dann z.B. nur Gruppen oder nur Frauen mit blauen Augen oder nur Männer mit braunen Augen und schwarzen Haaren angezeigt bekommt.
In Mysql und mit PHP geht das beispielsweise so:
$sql = "SELECT * FROM tabelle WHERE
IF('$geschlecht'='', 1, '$geschlecht'=Geschlecht) AND
IF('$augenfarbe'='', 1, '$augenfarbe'=Augenfarbe) AND
IF('$haarfarbe'='', 1, '$haarfarbe'=Haarfarbe)";
Wenn $geschlecht leer ist, ist der Teilausdruck erfüllt, sonst wird dessen Inhalt mit dem gleichnamigen Tabellenfeld verglichen. [1]
oder so:
$where = array();
if (strlen($geschlecht)) $where[] = "'$geschlecht'=Geschlecht";
if (strlen($augenfarbe)) $where[] = "'$augenfarbe'=Augenfarbe";
if (strlen($haarfarbe)) $where[] = "'$haarfarbe'=Haarfarbe";
$sql = 'SELECT * FROM tabelle';
if (count($where))
$sql .= ' WHERE ' . implode(' AND ', $where);
In anderen SQL-Dialekten bzw. Programmiersprachen gibt es sicher ähnliche Konstrukte.
[1] P.s. für Insider: Hier ist die berühmte IF-Funktion im Einsatz zu sehen, die es ja eigentlich gar nicht gibt :-)