サイト内のキーワード検索で複合(AND)検索を導入する為のコード

2012-08-04    46   50

複合検索は半角スペース区切りのワードに変換して、explode関数で半角スペース区切りで配列に格納し、foreach文でWHEREのSQL文を生成します。foreach文でエラーを出さない為に、ループの前にis_array関数で配列であるかの確認しておきましょう。

$q = str_replace(' ',' ',trim($_GET['q'])); //*1 下記説明
$array = explode(' ',$q);
if(is_array($array)){
    foreach($array as $val){
        $str = ($sql)?' AND':'';
        $sql .= "$str (`subject` LIKE '%$val%' OR `body` LIKE '%$val%')";
    }
}

*1 前後の空白を除去し、全角スペースを半角に変換

短いコードですが、これだけでAND検索が導入できます。

カテゴリ: PHP

comment 登録なしでご自由にご入力いただけます(^^)ぜひぜひ記事のご感想をお聞かせ下さい。

五十嵐ノキ8月6日

DVDFabのものでございます。今弊社のDVDFabはもはや11バーションにアップグレードしました、良ければ管理人様がこの記事を再編集していただけませんか?サイトのPVにもお役に立つと思います。
また何かありましたら私と連絡してください:guyu3045@dvdfab.cn

返信

お名前とコメントは入力必須です。

コメントの文字数が短すぎます。

この内容でコメントを送る
コメントをする
この記事がお役に立てましたら是非シェアのご協力お願いします。