【发布时间】:2016-06-23 06:09:44
【问题描述】:
我想搜索最多 3 个单词与多个字段匹配的数据库,我正在使用给定的代码:
$hotel_name=trim($_GET['hotel_src_key']);
$search_type=trim($_GET['hotel_src']);
$pieces = explode(" ", $hotel_name);
//echo $pieces[1]; // piece2
$search1=$pieces[0];
$search2=$pieces[1];
$search3=$pieces[2];
echo $search1.$search2.$search3;
if($search_type=="any hotel")
{
$rest ="WHERE hotel_name like '%$search1%' AND hotel_name like '%$search2%'AND hotel_name like '%$search3%' OR city like '%$search1%' AND city like '%$search2%' AND city like '%$search3%'";
}
if($search_type=="hotel city"){
$rest="WHERE city like '%$search1%' AND city like '%$search2%' AND city like '%$search3%'";
}
if($search_type=="hotel name"){
$rest="WHERE hotel_name like '%$search1%' AND hotel_name like '%$search2%' AND hotel_name like '%$search3%'";
}
$stmt=$connc->query("SELECT * FROM hotels $rest ORDER BY h_id ASC");
$rc = $stmt->num_rows;
但是当我在(search_type=any hotel) 中使用关键字"agra jaipur delhi" 搜索酒店时,它无法正常工作,然后结果显示0
我该如何解决这个问题?
【问题讨论】:
-
尝试为此“WHERE (hotel_name like '%$search1%' AND hotel_name like '%$search2%'AND hotel_name like '%$search3%' ) OR (city like ' %$search1%' AND city like '%$search2%' AND city like '%$search3%')
-
当我输入关键字
agra jaipuragra jaipur 是城市然后结果是0 当我只输入关键字agra一个字然后工作良好 -
@ranbir 没有你的回应。删除我的答案。我认为它对你没用