如何使用OR和AND进行过滤

时间:2017-09-02 03:45:12

标签: php html mysql

我想创建代码来过滤我的catagory和tag,我正在使用select box来过滤,我的代码是这样的:

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");

工作,如果我只过滤一个单词,但一旦我用两个单词过滤它不起作用,我的网页显示所有文章。
您可以尝试在此处过滤http://stanime.pe.hu/

1 个答案:

答案 0 :(得分:0)

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

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