こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

【続】PHPのsqlでキーワード検索【急】

前回、前々回の質問で解決しなかったので質問を変えて改めて質問させて下さい。
※php、データベース共に初心者ですので専門用語での指摘には対応出来ませんので宜しくお願いします。

前々回http://oshiete1.goo.ne.jp/qa3220932.html
前回http://oshiete1.goo.ne.jp/qa3234825.html

データベースからデータを表示するPHP、「list.php」と
検索してlist.phpに渡す「top.php」があります。
現在list.phpに

if($fn == "sr"){//サーチ
$mainimage="navisearch.jpg";
$table_tmp = "";
$query_tmp = "";
if($munic != 9999){//地域指定があるとき
if($munic == 1){//1の時
if($area != 9999){ //1でエリア指定があるとき
$table_tmp = ",Town_table";
$query_tmp ="and To_id = St_town and To_area = ".$area;
}else{//1でエリア指定が無いとき
$query_tmp ="and St_munic = ".$munic;
}
}else{//1以外の時
$query_tmp ="and St_munic = ".$munic;
}
}
if($lowcat > 0){
$query_tmp .= " and Li_id = ".$lowcat;
}
if(strlen($key) > 0){
$query_tmp .= " and (St_mainname like ?"%".addslashes($key)."%?" or St_subname like ?"%".addslashes($key)."%?" or St_freeheadtxt like ?"%".addslashes($key)."%?" or St_freetxt like ?"%".addslashes($key)."%?" or St_movietxt like ?"%".addslashes($key)."%?")";
}


というphpがあり、地域検索、エリア検索、キーワード検索が出来るようになっています。
これを地域指定、エリア指定両方無い時も
地域指定1、エリア指定9999とするように出来ないでしょうか?

理想は地域、エリア検索がなくキーワード検索のみにしたいのですが、地域、エリア検索部分のphpを消すとキーワード検索が働かなくなります。
(エラーは出なくなりましたがキーワードを無視し、データベース全てのデータを返して来る状態です)

すぐに回答欲しいです。

宜しくお願い致します。

投稿日時 - 2007-08-10 17:06:49

QNo.3244453

すぐに回答ほしいです

質問者が選んだベストアンサー

> エラーは出なくなりましたがキーワードを無視し、データベース全てのデータを返して来る状態です

これの原因ですが、フォーム側のソースがNo.3234825の通りであれば、
キーワードがPHPに渡されてない気が・・

間にtableとかが含まれるのはかまいませんが、基本的に上から
<form ***>
 <input ***>
 <input ***>
 <input ***>
</form>
となるようにしてください。

No.3234825の場合、キーワード入力欄が<form></form>の外側にあるので、
これは内側に入るようにコーディングしてくださいね。

※キーワード入力欄だけでなく、<input type="hidden" ***>ってやつも同様

投稿日時 - 2007-08-10 17:51:38

お礼

お礼が遅くなり申し訳ございませんでした。
おかげさまで無事キーワード検索が動きました!
助かりました。ありがとうございました。

投稿日時 - 2007-08-16 10:32:49

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問