2017-09-02 61 views
1

我想创建的代码过滤我的产品类别和标签,使用选择框来过滤IM,我的代码是这样的:
if ($filter2) { $addedCondition = " AND (nama_kat LIKE '%$filter2%' OR nama_tag LIKE '%$filter2%') "; } $query = $db->prepare("SELECT * FROM konten WHERE (nama_kat LIKE '%$filter1%' OR nama_tag LIKE '%$filter2%') ".$addedCondition." ORDER BY 'date' DESC");如何筛选使用OR和AND

工作,如果我只是过滤一个词,但一旦我用两个词过滤它不工作,我的网站显示所有文章。
你可以尝试在这里过滤http://stanime.pe.hu/

+0

请'echo $ query',这样我们可以讨论生成的SQL。做一个工作1个字的案件和一个不工作的2个字的案件。 –

回答

0

你必须将你的字符串分解为单词并使用OR。

$addedCondition = ''; 
$filter2 = explode(' ',$filter2); 
foreach($filter2 as $word) 
{ 
    $addedCondition .= " OR (nama_kat LIKE '%$word%' OR nama_tag LIKE '%$word%') "; 
}