Belove是我的搜索查询,如果我想要任何一个传递的值搜索,它可以正常工作,但如果我想要特定值的完全匹配怎么办?
我可以使用AND
运算符,但这会增加行数,例如,如果我希望particular location
匹配,我该如何编写查询,请任何人可以帮助我更好的搜索查询
$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 . "%' ";
修改
假设我有
的价值valtosearch,location,jobdate,etype和我希望所有这些值完全匹配,
或者我可以拥有其中任意两个值,我希望它们完全匹配,
或者我可以拥有这些值中的任何一个,我想要完全匹配。
那么如何为所有这些可能性编写查询?
答案 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;