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来计数,但说它已被记录 –