AND検索のスクリプト記述方法(PostgreSQL)
PostgreSQLとPHPを連携させたデータベースを作成しております。
入門書のスクリプトを流用してOR検索はできるようになったのですが,AND検索用の書き換えが上手くいきません。
下記は関連すると思われるスクリプトの一部を抜き出したものです。
単純にWHERE句のORをANDに変更しますと,AND検索にはなるのですが,すべての検索項目に検索語を入力しないと検索ができなくなりました。
尚,検索項目はyear,client,titleの3つです。
下記1行目も影響していると思うのですが書き換え方がわかりません。
当方が不勉強であることは重々承知しておりますが,アドバイス等いただけると幸いです。
$year_cond = $client_cond = $title_cond = "false";
if ($year != "") {
$year_cond = "year LIKE '%{$year}%'";
}
if ($client != "") {
$client_cond = "client LIKE '%{$client}%'";
}
if ($title != "") {
$title_cond = "title LIKE '%{$title}%'";
}
$sql = <<<EOS
SELECT id, year, client, title, summary, summarypass, fulltext FROM houkokusyo
WHERE {$year_cond} OR {$client_cond} OR {$title_cond}
ORDER BY id
EOS;
お礼
できました! なるほど、ユーザー文字列のほうも小文字に変換してあげないといけませんでしたね。 すっかり抜けていました。 どうも有難うございました!