Php 在查询中使用复选框的结果
我有一个搜索表单,用户将在其中选择搜索条件Php 在查询中使用复选框的结果,php,arrays,checkbox,Php,Arrays,Checkbox,我有一个搜索表单,用户将在其中选择搜索条件 <form action="show_time_search3.php" method="post"> <p><strong>From Date</strong> (YYYY-MM-DD): <input type="datetime" name="day" size="10" maxlength="10" value="<?php if (isset($_POST['day']))
<form action="show_time_search3.php" method="post">
<p><strong>From Date</strong> (YYYY-MM-DD): <input type="datetime" name="day" size="10" maxlength="10" value="<?php if (isset($_POST['day'])) echo $_POST['day']; ?>" /></p>
<p><strong>To Date </strong> (YYYY-MM-DD): <input type="datetime" name="day2" size="10" maxlength="10" value="<?php if (isset($_POST['day2'])) echo $_POST['day2']; ?>" /></p>
<p><strong>Type:</strong> (Click on one or more) 
<strong>CL </strong><input type=checkbox name=type[] size="2" maxlength="2" value=CL>   
<strong>CO </strong><input type=checkbox name=type[] size="2" maxlength="2" value=CO>   
<strong>CS </strong><input type=checkbox name=type[] size="2" maxlength="2" value=CS>   
<p><strong>Student ID</strong>: <input type="text" name="studentid" size="4" maxlength="4" value="<?php if (isset($_POST['studentid'])) echo $_POST['studentid']; ?>" /></p>
<p><input type="submit" name="submit" value="Submit" /></p>
</form>
从日期开始(YYYY-MM-DD):如果希望用户能够选择多种类型
<input type="checkbox" name="type[]" value="CL" checked="checked" />
将导致$\u POST['type'][0]='CL'
和$\u POST['type'][1]='CO'
只要选中isset($\u POST['type'])
以避免错误,就可以对数组进行内爆
$where="WHERE studentid='$id'
AND type IN ('".implode("','", $_POST['type'])."')
AND day>='$day' and day<='$day2'";
但是你真的需要清理那些$\u帖子只要检查一下,您想让用户能够选择多个复选框,还是想使用单选按钮?我之所以使用复选框,是因为我希望用户在查找多个复选框时能够选择多个复选框值。我使用了上面的代码并获得:Parse error:syntax error,意外的“$\u POST”(T\u变量)在C:\xampp\htdocs\Stupay\show_time_search3.php中,第39行是in(“.”内爆(“.”,“$”POST['type'])。“”)很抱歉,有一个输入错误,但是您应该能够查看错误发生的位置,如果不熟悉内爆,可以查找函数,并能够看到错误。将查找它。打字错误是什么?我试过不同的内爆变体,但都没有用。我不断收到类似警告的错误:mysqli_num_rows()期望参数1是mysqli_result,布尔值在第47行的C:\xampp\htdocs\Stupay\show_time_search3.php中给出。来自书籍和在线的例子根本不起作用。这非常令人沮丧。期望参数1是mysqli\u结果,给定的布尔值表示您的查询不正确。生成的查询是什么?
<input type="checkbox" name="type[]" value="CL" checked="checked" />
<input type="checkbox" name="type[]" value="CO" checked="checked" />
$where="WHERE studentid='$id'
AND type IN ('".implode("','", $_POST['type'])."')
AND day>='$day' and day<='$day2'";
type IN ('CL', 'CO')