if構文でAND検索
サイト内検索で”空白で区切った単語が全て含まれるページを表示”する「AND検索」を、簡単なサイト登録型の検索エンジンのカテゴリ検索で同じようなことを実行したいのです。
たとえば、@list内に
サイトA,素材,壁紙,
サイトB,素材,リンク,
というような2つのサイトが登録されていたとして、
下のように処理します。(一部略
print <<EOD;
<select name="s1">
<option value="素材">素材
<option value="壁紙">壁紙
<option value="リンク">リンク
</select>
<select name="s2">
<option value="素材">素材
<option value="壁紙">壁紙
<option value="リンク">リンク
</select>
<input type="submit">
EOD
require 'cgi-lib.pl';
&ReadParse(*form);
$s1=$form{'s1'};
$s2=$form{'s2'};
foreach(@list){
($site,$content1,$content2)=split(/\,/);
***
}
ここで「OR検索」なら、***の部分に
if(($s1 eq $content1)||
($s1 eq $content2)||
($s2 eq $content1)||
($s2 eq $content2)){
print "$site<br>";
}
このようにすれば、例えばセレクトボックスで
「素材」を選択→「サイトA」「サイトB」
「壁紙」を選択→「サイトA」
「壁紙」と「リンク」を選択→「サイトA」「サイトB」
が表示されます。
ですが、「AND検索」はif構文をどのように組めばいいのでしょうか?
結果的には
「素材」を選択→「サイトA」「サイトB」
「素材」と「壁紙」を選択→「サイトA」
「壁紙」と「リンク」を選択→(なし)
としたいのですが、どうすればいいのか分かりません。
初心者で説明不足かもしれませんが、よろしくお願いします。
補足
回答ありがとうございます。googleは本当に便利ですよね。私も一番よく利用するサーチエンジンです。 検索キーワードが一つ一つ違うということは、いろいろ考えてくださったんですね。わざわざありがとうございます。 最後のbusinってなんでしょうか??(@.@)?? 羊皮紙だけがなかなか難しく、これぞというのが見つかりませんので、自分で作ったほうが早いのかもしれないです(^^;)。 私好みの素材サイトもたくさん発掘でき、うれしいです。回答ありがとうございました。