SQL Abfrage 4 Felder 2 Werte wenigstens übereinstimmen

Hammurabi

Mitglied
Hallo alle,

und zwar habe ich ein Formular wo der Benutzer etwas suchen kann er soll 4 Sachen eingeben die genauso in der DB vorhanden sind und jetzt soll ein Ergebnis kommen wo wenigstens 2 Felder übereinstimmen.

Jetzt könne ich das mit einer endloslangen AND OR Anweisung machen aber da muss es doch noch eine andere Lösung geben, weil wenn ich 10 Felder überprüfen würde, wäre das ja schwachsinnig.
 
Hallo Hammurabi,
ich würde das mit nem Zähler machen, der immer einen hochzaehlt, wenn ein Feld übereinstimmt. Und die Ausgabe halt nur, wenn der Zaehler größer als 1 ist. Also so:

PHP:
...
$zaehler=0;
...
if ($feld1 == $eingabe1){$zaehler=$zaehler+1;}
if ($feld2 == $eingabe2){$zaehler=$zaehler+1;}
if ($feld3 == $eingabe3){$zaehler=$zaehler+1;}
if ($feld4 == $eingabe4){$zaehler=$zaehler+1;}
...
if ($zaehler > 1) {
...
}

So hättest du dann exakt ein Ergebnis, nämlich das letzte. Wenn du das ganze als Schleife machst, also zwischen die {} vom While setzt, erhälst du alle Ergebnisse. ;)
Dann hättest du halt so viele ifs wie Felder...
 
Danke für deinen versuch @Namika aber das ist nicht ganz das was ich brauche nach deinem Prinzip müsste ich ja erst die entsprechenden Felder aus der DB auslesen und denn noch deine abfrage durchlaufen lassen und das ist bei der Datenmenge mit der ich arbeite ungünstig hätte da lieber ne abfrage gleich in der sql_query.
 

Neue Beiträge

Zurück