Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果选中复选框,则添加PDO查询的位置_Php_Jquery_Mysql_Pdo_Jquery Autocomplete - Fatal编程技术网

Php 如果选中复选框,则添加PDO查询的位置

Php 如果选中复选框,则添加PDO查询的位置,php,jquery,mysql,pdo,jquery-autocomplete,Php,Jquery,Mysql,Pdo,Jquery Autocomplete,我有一个带有PDO的MySQL查询: $ac_term = "%".$_GET['term']."%"; $query = "SELECT * FROM table where name like :term"; $query .= $filterquery; $result = $conn->prepare($query); $result->bindValue(":term",$ac_term); $result->execute(); 我正在为这个“术语”使用自动完成j

我有一个带有PDO的MySQL查询:

$ac_term = "%".$_GET['term']."%";
$query = "SELECT * FROM table where name like :term";
$query .= $filterquery;
$result = $conn->prepare($query);
$result->bindValue(":term",$ac_term);
$result->execute();
我正在为这个“术语”使用自动完成jquery代码

如果您查看第一段代码,您可以看到我尝试了$query。=$filerquery。 $filterquery在此处定义:

 $filter = "%".$_GET['filter']."%";

 if($filter = '1'){
        $filterquery = 'WHERE allowed = 1';
    }
 else{
        $filterquery = 'WHERE allowed = 1 OR allowed = 0';
    }
所以我要做的是,当jquery变量filter=1时,在数据库中搜索allowed=1的记录。否则它应该搜索每个记录(1或0)


谢谢你的帮助

让你的where部分像这样

$filter_con = $_POST['filter'];

$filter = "%".$_POST['filter']."%";

`enter code here` if($filter_con == '1'){
        $filterquery = 'AND allowed = 1';
    }
 else{
        $filterquery = 'AND allowed = 1 OR allowed = 0';
    }
1:-您使用的是AJAX
类型:“POST”
所以使用
$\u POST
而不是
$\u GET
2:-无需使用

$result->bindValue(":term",$ac_term); 
它也会起作用:-

$result->bindValue("term",$ac_term);  
最后,当您获取时,通过执行get值

$result->fetchall(PDO::FETCH_ASSOC);
这是一项任务:

if($filter = '1')
您必须使用
==

if($filter == '1') {
    $filterquery = 'WHERE allowed = 1';
}
else {
    $filterquery = 'WHERE allowed = 1 OR allowed = 0';
}
一条线路中的最短路径:

$filterquery = $filter == '1' ? 'WHERE allowed = 1' : 'WHERE allowed = 1 OR allowed = 0';

将Ajax请求URL更改为

$.ajax({
    url: 'suggest_zip.php?filter=' + ($('#your_checkbox_selector').is(':checked') ? 1 : 0 ),
    //...
另外,修复PHP条件

//This is an assignment and then it's always evaluated true (since equal to 1)
if($filter = '1'){ 

如果($filter='1',希望对您有所帮助{是一个赋值。如果它是一个比较,它仍然不能与
%xyz%
一起工作。您的连接SQL中还会有两个
WHERE
子句。感谢您的回答,它帮助了我很多!我要感谢其他回答的人,因为所有答案的组合帮助我使它工作。
//This is an assignment and then it's always evaluated true (since equal to 1)
if($filter = '1'){