2
我有幾天開始學習PHP,並且我有下面的代碼,它會相應地生成3個複選框和3個下拉列表(可能更多,這不是問題)。FOR循環內的IF語句返回錯誤結果
這個想法是一個自定義MySQL查詢字符串將創建多個條件。下拉列表將包含數據庫字段。用戶將通過單擊這些複選框並在下拉列表中設置一個值來決定添加多少個自定義條件。
點擊每個選中複選框的提交按鈕後,如果設置了相應下拉框中的值,則將讀取下拉列表中的值。該代碼工作並僅在所有或僅檢查FIRST複選框時返回正確的結果(來自下拉列表的值)。例如,如果第二個或第三個複選框被選中並且設置了下拉列表的值,那麼if語句會忽略它。很明顯if語句中的if語句有問題(在特定的& &條件中),但是可以修復它嗎?另外,如果我在if語句中只有一個條件,結果是正確的!
<?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>";
}
}
?>
亞薩:非常感謝你的快速和準確的響應。這解決了這個問題!很高興知道。 –
@georgepgs不客氣。請不要忘記通過點擊答案左側的複選標記將此答案標記爲正確。此外,我也會讚賞upvote。 – Asaph
我的聲望仍然很低,因爲upvote來計數,但說它已被記錄 –