0

こんにちは、自分のサイトで検索エンジン用のフィルターをコーディングしたいと考えています。単純なフィルターを使用するのが最善の方法だと思いました。だから私のコードは次のようになります:

}else if ($filter_a === 1){
        $filter = "WHERE `a` LIKE '%$a%'";
}else if ($filter_b === 1){
        $filter = "WHERE `b` LIKE '%$b%'";
}else if ($filter_c === 1){
        $filter = "WHERE `c` LIKE '%$c%'";
...
}else if ( ($filter_a === 1) && ($filter_b === 1) ){
        $filter = "WHERE `a` LIKE '%$a%' AND `b` LIKE '%$b%'";
}else if ( ($filter_a === 1) && ($filter_c === 1) ){
        $filter = "WHERE `a` LIKE '%$a%' AND `c` LIKE '%$c%'";
... and so on

問題は、私は 5x を持っているNので、これの順列は 120 の可能性になるということです$filter

これを解決する方法はありますか?私を助けてくれる人がいれば、本当に感謝しています。どうもありがとう。

4

1 に答える 1

2

この先どう?

if ($filter_a === 1) {
        $filter[] = "`a` LIKE '%$a%'";
}
if ($filter_b === 1) {
        $filter[] = "`b` LIKE '%$b%'";
}
if ($filter_c === 1) {
        $filter[] = "`c` LIKE '%$c%'";
}
$filter = "WHERE ".implode(" AND ", $filter);
于 2012-04-23T09:50:09.760 に答える