複合語検索で・・・
自分用の蔵書検索システムを作ってるのですが、
キーワード検索でつまづいてしまいました。
単一のキーワードでの検索は実装できたので、
こんどはスペース区切りによる複合語検索に挑戦しました。
(検索タイプはAND検索のみです)
$array = explode(" ", $_GET['keyword']);
$cnt = count($array);
$where = " WHERE ";
for($i=0; $i < $cnt; $i++){
$where.= "title LIKE '%".$array[$i]."%'";
if($i < $cnt-1){
$where .=" AND ";
}
}
以上のようにして、なんとかできました。
これを著者テーブルにも対応させたいのです。
たとえば、検索キーワードに
「太郎 物語」
と入力したとすると、
書籍テーブルか著者テーブルのいずれかに、
「太郎」および「物語」が含まれるものを表示したいのです。
つまり、
「太郎物語」というタイトルの書籍や、
「~物語」というタイトルで著者が「~太郎」という書籍などを表示するようにしたいです。
ORでつなげたりしてみたのですが、
どうもうまくいきませんでした。
また、もっとスマートなやりかたがあったら
ぜひ教えてください。
どうかよろしくお願いします。
お礼
回答者様の示した方法でうまくいきました。 ありがとうございました。