我不能使用此复选框进行搜索。当我运行代码(检查)时,没有任何反应。我必须检查它以进行高级搜索,它将从数据库中选择数据。
我的HTML代码:
<td><input type="checkbox" name="fac1" value="checked"/>AIRCOND</td>
<td><input type="checkbox" name="fac2" value="checked"/>FAN</td>
我的PHP代码:
$fac1=isset($_POST["fac1"]);
$fac2=isset($_POST["fac2"]);
$qry = "SELECT * FROM homestay WHERE ";
if(isset($_POST['fac1']) && $_POST['fac1'] == 'checked')
{
$fac1 = true;
}
if(isset($_POST['fac2']) && $_POST['fac2'] == 'checked')
{
$fac2 = true;
}
$string = isset($_POST['fac1']) ? $_POST['fac1'] : (isset($_POST['fac2']) ? $_POST['fac2'] : '');
或
if(isset($_POST['fac1']) && $_POST['fac1'] == 'checked')
{
$string = $fac1;
}
if(isset($_POST['fac1']) && $_POST['fac2'] == 'checked')
{
$string = $fac2;
}
在query
中传递字符串变量:
$qry = "SELECT * FROM homestay WHERE $string = 'true'";
按照 Ronak 的建议这样做会导致多个搜索选项的代码太长。不包括下次加载页面时必须保存选中的每个选项。您可以使用 ajax 简化此操作,以便例如,它会在您的div 中显示结果。
首先制作一个表单:
<form id="searchOptions">
<td><input type="checkbox" name="fac1" value="checked"/>AIRCOND</td>
<td><input type="checkbox" name="fac2" value="checked"/>FAN</td>
</form>
然后将脚本放在标头中:
<script>
function submitSearchForm() {
$.ajax({type:'POST', url: 'search.php', data:$('#searchOptions').serialize();?>, success: function(response) {
$('#resultDisplay').innerHTML = response;
}});
return false;
}
</script>
通知:
你还需要在标题中 jquery.min
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>