我正在用implode函數對搜索框中的任何用戶類型執行PHP mysql搜索查詢。查詢工作正常,但我想稍微改變它,因爲它沒有給我正確results.Please看看查詢用implode函數調整php mysql搜索查詢
$lcSearchVal=$_GET['name'];
$lcSearcharr=explode("-",$lcSearchVal);
foreach($lcSearcharr as $lcSearchWord){
$lcSearchWord = mysqli_real_escape_string($mysqli, $lcSearchWord);
$lcSearchWord = preg_replace('/%/', '\%', $lcSearchWord);
$parts[] = '`Description` LIKE "% '.$lcSearchWord.'%"';
$parts1[] = '`Description` LIKE "% '.$lcSearchWord.' %"';
}
$qry='SELECT * FROM table_name WHERE ('.implode ('AND',$parts).')';
首先IM的獲取任何用戶在搜索框代碼above.Then IM分裂鍵入第二頁的第一行搜索該變量爲通過分裂陣列他們與連字符search.Then即時執行foreach循環該數組,這是用於sql查詢
例如: - 用戶在首頁搜索as-men休閒鞋。 我會在第二頁如男士休閒鞋。 然後,我會把它們放在一個像男人,休閒,鞋子這樣的三個元素。 那麼我會執行我上面寫的搜索查詢,這將形成類似如下
select * from table_name where (Description like '%men %' and Description like '%casual %' and Description like '%shoes %')
但我想查詢應該像下面
select * from table_name where (Description like '%men %' and Description like '%casual %') or (Description like '%casual %' and Description like '%shoes %') or (Description like '%men %' and Description like '%shoes %')
請調整查詢
幫助
說明就是IM執行類似查詢 – user3843585