- 締切済み
PHPの検索システムについてご教授下さい
こんにちは。現在PHPで検索システムを実装しようとしておるのですが、どうしても条件絞り込みを行うことができず(全件表示されてしまう)困っております。PHP初心者で、無知なため先輩方ご教授頂けますと幸いです。PHPのソースは以下となります。 <?php $debug = fales; //DB接続 mysql_connect('db_host','db_user','db_pass') or die(mysql_error()); mysql_select_db('db_name') or die(mysql_error()); if($debug) print_r($_POST); //エラーチェック //リクエストメソッドチェック if($_SERVER["REQUEST_METHOD"] != "POST"){ // ブラウザからHTMLページを要求された場合 }else{ // フォームからPOSTによって要求された場合 } $query = "SELECT * FROM search "; if(!empty($name)) { $name = addslashes($name); $where = "name = '$name' "; } if(!empty($tel)) { $tel = addslashes($tel); $where .= "tel '$tel' "; } if(!empty($sex)) { $sex = addslashes($sex); $where .= "sex = '$sex' "; } if(!empty($where)) { $where = substr($where, 0, -4); $where = "WHERE" . $where; } $query .= '$where'; $result = mysql_query($query . implode(" AND ", $where)); $num_rows = mysql_num_rows($result); if($num_rows == 0) $message = "該当するデータはありませんでした"; else $message = $num_rows . "件ヒットしました"; ?> 検索結果<br> <?=$message?> <table border=1> <tr><td>名前</td><td>電話番号</td><td>性別</td></tr> <? while($row = mysql_fetch_assoc($result)): ?> <tr><td><?=$row['name']?></td><td><?=$row['tel']?></td><td><?=$row['sex']?></td></tr> <? endwhile; ?> </table> <a href="input.html">再検索</a> 現在データベースにはサンプルとして10件入れておりますが、どの条件で検索を行なっても10件全てが検索結果として表示されてしまいます。どこを触れば良いのでしょうか…? お忙しいところ大変恐れ入りますが何卒、よろしくお願い申し上げます。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- kmee
- ベストアンサー率55% (1857/3366)
> $result = mysql_query($query . implode(" AND ", $where)); この後にでも echo "<p>", $query . implode(" AND ", $where) ,"</p>"; とでもして、どんなSQLを使っているか確認してはどうですか?