使用php中的复选框进行搜索

时间:2014-12-05 15:13:11

标签: php

我无法使用此复选框进行搜索。当我运行代码(检查)时,没有任何反应。我必须检查它以进行高级搜索,它将从数据库中选择数据。

我的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;
 }

2 个答案:

答案 0 :(得分:0)

$string = isset($_POST['fac1']) ? $_POST['fac1'] : (isset($_POST['fac2']) ? $_POST['fac2'] : '');

OR

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'";

答案 1 :(得分:0)

像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>