CGI-BBS > データベース > 簡易データベース > 複数の項目の複数検索について


カレッヂ
カレッヂ


質問者 MHK  投稿日 4/11(水) 12:42:23
以前1項目の複数検索については解答がありましてうまくいったんですが
複数の項目にわたって複数検索はできますか?
例えば県を東京・青森に一致、年齢を20代と30代に一致、ニックネームを
愛と香にマッチという条件で検索できますでしょうか?
よろしくお願いします。
回答者 羊相談員  [削除]  投稿日 4/11(水) 20:32:05
年齢のほうは
PREFとAGEの違いだけで
同じように改造すれば(理論上は)可能なはずです。
質問者 MHK  [削除]  投稿日 4/12(木) 12:47:54
やってみましたが2つともフォーム変数に登録して
検索処理も2つとも書き換えたんですが
やっぱりうまくいきません
というよりcgiがエラーを起こして動きません
フォーム変数に入れ方に複数の場合どうしたらいいのでしょうか
if($name eq 'SHAPE'){
$FORM{$name} .= $value;
}
else{
  $FORM{$name} = $value;            
}
を変数違いで2つ並べて入れたのですが違うのでしょうか?
よろしくお願いします。
回答者 羊相談員  [削除]  投稿日 4/12(木) 19:51:43
以前私が書いたものとは別の目的での改造が施されているようなので
(もともとのスクリプトにはSHAPEというのはないので)
全く別の部分に原因がある可能性もあります。
質問者 MHK  [削除]  投稿日 4/13(金) 05:21:57
単に関数がわかりにくいので
入力する項目と関連付けた名前にしただけで
関数名以外は変わってません
質問者 MHK  [削除]  投稿日 4/13(金) 05:37:55
この関数名にする前にもともとの関数名で試してみたのですが
うまくいかなかったんです。
データベースの目的は図鑑なんです。
名前==>魚の名前 ニックネーム==>魚の科 年齢==>模様 性別==>色 県==>形
コメント==>説明 Eメール==>画像NO. という具合に参照して
それぞれもとのプログラムと同じようにドロップダウンメニューに、これはうまくいきました
掲示板の中に複数検索の項目がありましたのでサンプル通り、形(県)の部分を
チェックボックス風にして、これもうまくいきました。さらに色(性別)の部分を複数検索に、のところで躓いているわけです。
基本的に関数名以外は変えていないので(htmlへの出力部分以外)
たいした改造ではないのですが、なんともなりません
できれば、形(県)・色(性別)・模様(年齢)の3項目での複数検索をしたいのです。
なにとぞお知恵を拝借お願いします。
 
質問者 MHK  [削除]  投稿日 4/14(土) 20:55:40
羊相談員様
まずもとのデータベースを以前のご指示のように改造して県に関しては
複数検索は成功しました(県のチェックボックスが何もチェックされていないと項目無しと出るので,hiddenでallを入れましたところ正常に検索するようになりました。)次に性別を飛ばして年齢で同じように改造しましたところ2番目の複数項目の最初の部分だけしかHIT市内のです。hiddenをはずしても同じです。以前かかれていた改造をPREFとAGEにして2つ続けて書いています。
           if($name eq 'PREF'){
              $FORM{$name} .= $value;
}
     else{
              $FORM{$name} = $value;
}
           if($name eq 'AGE'){
              $FORM{$name} .= $value;
}
     else{
              $FORM{$name} = $value;
}
これではいけないのでしょうか?
質問者 MHK  [削除]  投稿日 4/14(土) 23:47:08
自己解決しました
勉強不足ですいません
関数の足し方が間違ってました

返信(回答)する


Web裏技