多关键字搜索


Multiple Keyword Search

我有一个包含逗号分隔的关键字的字符串。例如:

$location="Delhi,NOIDA";
$skill="PHP, PHP Programmer";
$cheack2 = "";
$arr=array();
$flag = false;
if(isset($skill) && $skill != "") {
    $query_arr = explode(",", $skill);
    foreach($query_arr as $query_arr2) {
        $arr[] = "job_keyskills like '%$query_arr2%' ";
    }
    $cheack2=implode(" OR ", $arr);
    $flag = true;
}

select * from tb_job where 1=1 and job_keyskills like '%PHP%' OR job_keyskills like '%PHP  Programmer%' OR job_location like '%Delhi%' OR job_location like '%Chhattisgarh%' 

但是我想要这种类型的查询

select * from tb_job where 1=1 and job_keyskills like '%PHP%' OR job_keyskills like '%PHP Developer%' AND job_location like '%Delhi%' OR job_location like '%NOIDA%'

你的代码有错误:

if(isset($skill) && $skill != "") {
    if($flag) {
        $cheack2 .= "OR ";
    }
}

你缺少大括号:

select * from tb_job where 1=1 and (job_keyskills like '%PHP%' OR job_keyskills like '%PHP Developer%') AND (job_location like '%Delhi%' OR job_location like '%NOIDA%)