Ich habe ein paar Tage begonnen, PHP zu studieren, und ich habe den folgenden Code, der 3 Kontrollkästchen und 3 Dropdown-Listen entsprechend macht (könnte mehr sein, das ist nicht das Problem).IF-Anweisung innerhalb FOR Loop gibt falsche Ergebnisse zurück
Die Idee ist, dass eine benutzerdefinierte MySQL-Abfragezeichenfolge mit mehr als einer Bedingung erstellt wird. Dropdown-Listen enthalten Datenbankfelder. Der Benutzer entscheidet, wie viele benutzerdefinierte Bedingungen hinzugefügt werden, indem er auf diese Kontrollkästchen klickt und einen Wert in der Dropdown-Liste festlegt.
Nachdem Sie auf die Übergabeschaltfläche für jedes angekreuzte Kontrollkästchen geklickt haben und ein Wert aus der entsprechenden Dropdown-Box festgelegt wurde, wird der Wert aus der Dropdown-Liste gelesen. Der Code funktioniert und gibt nur dann die korrekten Ergebnisse (Werte aus Dropdown-Listen) zurück, wenn das Kontrollkästchen ALLE oder nur das erste Kontrollkästchen aktiviert ist. Wenn beispielsweise das zweite oder dritte Kontrollkästchen aktiviert ist und ein Wert für die Dropdown-Liste festgelegt ist, ignoriert die if-Anweisung dies. Offensichtlich ist etwas falsch mit der if-Anweisung (in bestimmten & & Zustand) innerhalb der for-Schleife, aber kann es beheben ?. Außerdem, wenn ich nur eine Bedingung in der if-Anweisung habe, sind die Ergebnisse korrekt!
<?php
echo <<<_query
<form action="check_array.php" method="post">
query1<input type="checkbox" name="query[]" value="query0">
query2<input type="checkbox" name="query[]" value="query1">
query3<input type="checkbox" name="query[]" value="query2">
fields0
<select name="fields[]">
<option selected value="null">Select field</option>
<option value="author">author</option>
<option value="title">title</option>
<option value="category">category</option>
</select>
fields1
<select name="fields[]">
<option selected value="null">Select field</option>
<option value="author">author</option>
<option value="title">title</option>
<option value="category">category</option>
</select>
fields2
<select name="fields[]">
<option selected value="null">Select field</option>
<option value="author">author</option>
<option value="title">title</option>
<option value="category">category</option></form>
</select>
<input type="submit" name="submit" value="check"></form>
_query;
for ($i=0;$i<3;++$i)
{
if (isset($_POST["query"][$i]) && $_POST["fields"][$i] !="null")
{
echo $_POST["query"][$i] ."<br>".$_POST["fields"][$i]."<br>";
}
}
?>
Asaph: Vielen Dank für Ihre schnelle und genaue Antwort. Dies behebt das Problem! Sehr gut zu wissen. –
@georgepgs Gern geschehen. Bitte vergessen Sie nicht, diese Antwort als korrekt zu markieren, indem Sie auf das Häkchen links neben der Antwort klicken. Außerdem würde ich eine Aufwertung auch schätzen. – Asaph
Mein Ruf ist immer noch zu niedrig, um zu zählen, aber ich sage, dass er aufgezeichnet wurde –