derzeit habe ich ein Formular, mit dem Benutzer 3 Eingabefelder ausfüllen können. 3 davon sind Textfelder (Titel, Autor und ISBN) und 1 davon ist eine Auswahlmöglichkeit (Kategorien).Erweiterte Suchfunktion mit PHP
Ich möchte erreichen, dass Benutzer eine beliebige Anzahl der 4 Felder ausfüllen und die respektierten Werte zurückgeben können. Das heißt, wenn Benutzer zwei Eingabefelder ausfüllen, müssen zwei Bedingungen im Backend eingesehen werden. 3 Eingänge gefüllt bedeutet 3 Bedingungen.
Was ich habe currenly ist dies (ein Beispiel, nicht der eigentliche Code selbst):
if($title == $allMyArray["title"]){
array_push($returningResult, $allMyArray);
}else if($author == $allMyArray["author"]){
array_push($returningResult, $allMyArray);
}else if($ISBN == $allMyArray["ISBN"]){
array_push($returningResult, $allMyArray);
}else if($categoreis== $allMyArray["categories"]){
array_push($returningResult, $allMyArray);
}else{
echo "nothing";
}
Dieser Satz von Code funktioniert, wenn ich nur in einem bestimmten Bereich füllen. Zum Beispiel, wenn ich nur die Autoreingabe ausfülle und die anderen 3 Optionen leer lasse, werde ich mit den Werten zurückgeschickt, die ich möchte. Wenn ich jedoch versuche, 2 oder mehr Felder gleichzeitig auszufüllen, ist der zurückgegebene Wert falsch.
Also, wie sonst kann ich mit einer if else-Anweisung kommen, die prüft, welche Felder gefüllt sind, und die Bedingungen richtig auf der Grundlage der eingegebenen Felder setzen?
Vielen Dank für Ihre Hilfe im fortgeschrittenen! Sehr geschätzt! :)
Das macht keinen Sinn, den gleichen Befehl in jeder Bedingung auszuführen. BTW, was "der zurückgegebene Wert ist falsch." meint? Können Sie den zurückgegebenen Wert in der Frage bitte teilen? –
Verwenden Sie 4 'if's, ohne' else' –
Mein Fehler, @Ofir Baruch. Es macht Sinn, weil diese Funktion tatsächlich unter einer anderen Funktion ist. Also, was das Ganze macht, ist zuerst, es wird alle Datensätze in der Datenbank abrufen. Dann wird es jeden Datensatz durchlaufen und sehen, ob es übereinstimmt. Wenn es übereinstimmt, werden die Daten in ein resultArray übertragen, das ich später für Sitzungen verwenden werde. Daher werden alle Bedingungen, die erfüllt sind, dazu führen, dass Daten in das resultArray übertragen werden. –