正确的方法来编写多个选项搜索查询

时间:2015-06-17 13:14:38

标签: mysql

Belove是我的搜索查询,如果我想要任何一个传递的值搜索,它可以正常工作,但如果我想要特定值的完全匹配怎么办?

我可以使用AND运算符,但这会增加行数,例如,如果我希望particular location匹配,我该如何编写查询,请任何人可以帮助我更好的搜索查询 enter image description here

            $sql = "SELECT * ";
            $sql .= "FROM js_projects WHERE ";
            $sql .= "jsp_title LIKE '%" . $valToSearch . "%' ";
            $sql .= "OR jsp_nature LIKE '%" . $nature . "%' ";
            $sql .= "OR jsp_etype LIKE '%" . $etype . "%' ";
            $sql .= "OR jsp_location LIKE '%" . $location . "%' ";
            $sql .= "OR jsp_date LIKE '%" . $jobdate . "%' ";

修改

假设我有

的价值
  1. valtosearch,location,jobdate,etype和我希望所有这些值完全匹配,

  2. 或者我可以拥有其中任意两个值,我希望它们完全匹配,

  3. 或者我可以拥有这些值中的任何一个,我想要完全匹配。

  4. 那么如何为所有这些可能性编写查询?

1 个答案:

答案 0 :(得分:0)

试试这样。这样可以正常使用

$condition=($location!=''?" AND jsp_location LIKE '%".$location."%":"");
$condition.=($jobdate!=''?" AND jsp_date LIKE '%".$jobDate."%":"");
$sql = "SELECT * FROM js_projects WHERE jsp_title LIKE '%".$valueToSearch."%' ".$condition;