CGI-BBS > データベース > CGI検索 > 苦しんでいます教えて下さい!かー子より


(株)友林堂
(株)友林堂


データ復旧§即日§ino データ復旧‐テラステーション‐修理‐ino

質問者 かー子  投稿日 7/12(木) 17:40:52
フリーマーケットシステムでの検索キーワードに複数のキーワードを入力すると検索ができません。複数のキーワードをすべて検索するようにするにはどのCGIをどのように改良したらよいか?教えて下さいお願いします。
回答者 しあわせのツボ  [削除]  投稿日 7/12(木) 18:57:14
最初に。
●Subjectは質問内容がわかるように書いて下さい。同じ疑問がある人が探しやすくなります。
 特に「エラーになります」「困っています」「教えて下さい」等はありふれ過ぎています。
 今回は「フリーマーケットで複数の単語で検索したい」のようにするべきでしょう。
●フリーマーケットに関する質問はフリーマーケットのカテゴリに書き込んで下さい。
 でないと、後から検索できません。
●マルチポスト(同一内容の複数書き込み)は行儀が悪いとされています(少なくともサーバ資源の無駄です)。
 たくさん書けば返事があるというものではありません。むしろ大抵は逆効果です。
●発言は適宜改行して下さい。読まれなければ回答してもらえません。

で、回答ですが。
実際に検索作業をしているのはauction.cgiの81行目です。
その直前に
$multiSearchStrings = join("|", split(/ /, $FORM{'strings'}));
という行を追加した上で
if ($search_strings =~ /^([\x00-\x7F]|[\x8E\xA1-\xFE][\xA1-\xFE]|\x8F[\xA1-\xFE]{2})*$FORM{'strings'}/i) { ; } else { next; }

if ($search_strings =~ /^([\x00-\x7F]|[\x8E\xA1-\xFE][\xA1-\xFE]|\x8F[\xA1-\xFE]{2})*($multiSearchStrings)/i) { ; } else { next; }
に書き換えるとどうなるでしょうか。
質問者 かー子  [削除]  投稿日 7/12(木) 19:55:16
本当になんてお礼を言ったら解らないのですが。
涙がでるほど嬉しいです、有り難う御座いました。
感謝いたします。
かー子より。

返信(回答)する


データ復旧§即日§ino データ復旧‐テラステーション‐修理‐ino Web裏技