【发布时间】:2016-11-29 03:30:01
【问题描述】:
我有几天开始学习 PHP,我有以下代码,相应地生成 3 个复选框和 3 个下拉列表(可能更多,这不是问题)。
这个想法是创建一个自定义 MySQL 查询字符串,其中包含多个条件。下拉列表将包含 db 字段。用户将通过单击这些复选框并在下拉列表中设置一个值来决定将添加多少个自定义条件。
单击每个选中复选框的提交按钮后,如果设置了相应下拉框中的值,则会读取下拉列表中的值。只有在选中所有或仅选中第一个复选框时,代码只能返回正确的结果(从下拉列表中的值)。例如,如果第二个或第三个复选框被选中并且设置了下拉列表的值,则 if 语句将忽略它。显然,for 循环中的 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>";
}
}
?>
【问题讨论】:
标签: php list if-statement for-loop dropdown