我累找到有關此主題:(PHP MySQL的multipe搜索欄
我通過使用多個關鍵字和其它項工作在多個搜索解決方案
我在BDD表中存儲MYISAM和整理UTF8
ad { id,type,title,description,categorie,sub_cat,departement.... }
$query="SELECT * FROM AD WHERE";
$keywords=explode(",",$key);
foreach ($query as $value) {
$value=trim($value);
$query.=" (title REGEXP '".$value."' OR description REGEXP '".$value."') OR";
}
$query=rtrim($qur,"OR");
$query.="AND";
if(!empty($categorie))$query=" (categorie LIKE '".$categorie."') AND";
foreach ($sub_cat as $value) {
$query.=" (sub_cat REGEXP '".$value."') OR";
}
$query=rtrim($qur,"OR");
$query.="AND";
foreach ($departementS as $value) {
$valuedepartement=(int)$valuedepartement;
$query.=" (departementAnn=".$valuedepartement.") OR";
}
$query=rtrim($qur,"OR");
$query.="AND";
query results:
$query="SELECT * FROM ad WHERE (title REGEXP 'key1') OR (description REGEXP 'key1')OR (title REGEXP 'key2') OR (description REGEXP 'key2') AND (categorie LIKE 'exmple1') AND (sub_cat=12 OR sub_cat=17).....";
我沒有任何錯誤,但查詢將返回錯誤的結果
問題在哪裏? – 2014-10-03 07:46:24
@Azrael沒有那只是查詢字符串的第一部分的初始化,隨着邏輯的繼續,它將被追加,所以最終它將是一個完整的查詢,如果邏輯順利 – Ghost 2014-10-03 07:49:18
@Ghost我看到xD對不起 – Azrael 2014-10-03 07:52:41