はじめて質問をするのでつたない点があるかもしれません。
仕様環境 個人用windows10 php mysql windowspowershell cyberduck putty
phpとmysqlを使ってhttp://php.dori-mu.net/search.html#searchのサイトにある名簿の検索のアプリを制作したのですが検索結果(人名)の表示ができず原因がよくわかりません。
mysqlでデータベースを作成し、テーブルの追加を行い、insertで人物も追加したのでデータベース
にデータは作成できていると思います。データベースの指定ができていないために結果として表示されてないのか(db名は同じにしているのでipアドレスが違う?)?それともコードが不足しているのか?mysqlが起動させた状態でローカル環境を起動させてないから(puttyを使っているためmysqlかローカル環境のどちらかしか起動させれない)?のどれかが原因かと思うのですがどなたかわかる方いたらご教授おねがいします。
index.html
<head> <title>PHP SEARCH</title> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"> </head> <body bgcolor="#FFFFFF" text="#000000"> <form name="" method="post" action="search.php"> 検索条件を指定してください<br> <table width="500" border="1" cellspacing="1" cellpadding="0"> <tr> <td>名前</td> <td> <input type="text" name="name" size="40" maxlength="255"> </td> </tr> <tr> <td>住所</td> <td> <input type="text" name="address" size="40" maxlength="255"> </td> </tr> <tr> <td>性別</td> <td> <input type="radio" name="gender" value="男性"> 男性 <br> <input type="radio" name="gender" value="女性"> 女性<br> <input type="radio" name="gender" value="その他"> その他</td> </tr> <tr> <td>スキル</td> <td> <input type="checkbox" name="skill[0]" value="ワープロ"> ワープロ<br> <input type="checkbox" name="skill[1]" value="表計算"> 表計算<br> <input type="checkbox" name="skill[2]" value="プログラミング"> プログラミング<br> <input type="checkbox" name="skill[3]" value="営業"> 営業<br> <input type="checkbox" name="skill[4]" value="音楽"> 音楽</td> </tr> </table> <input type="submit" name="submit" value="検索"> <input type="reset" value="条件クリア"> </form> </body> </html> コード
search.php
<head> <title>PHP SEARCH RESULT</title> <meta http-equiv="Content-Type" content="text/html; charset=x-euc-jp"> </head> <body> <? $debug = false; //DB接続 mysql_connect("127.0.0.1","sample",""); mysql_select_db("sample"); if($debug) print_r($HTTP_POST_VARS); //エラーチェック //リクエストメソッドチェック if($REQUEST_METHOD != "POST") { print "Error: invalid method"; exit(); } //クエリ生成 $query = "SELECT * FROM search "; //検索条件生成 //名前 if(!empty($name)) { $name = addslashes($name); $where = "name = '$name' && "; } //住所 if(!empty($address)) { $address = addslashes($address); $where .= "address REGEXP '$address' && "; } //性別 if(!empty($gender)) { $gender = addslashes($gender); $where .= "gender = '$gender' && "; } //スキル if(!empty($skill)) { foreach($skill as $value) { $value = addslashes($value); $temp_where .= "skill REGEXP '$value' || "; } $temp_where = substr($temp_where, 0, -4); $where .= "(". $temp_where. ") && "; } if(!empty($where)) { $where = substr($where, 0, -4); $where = "WHERE " . $where; } $query .= $where; if($debug) { print "<BR><BR>"; print $query; } $result = mysql_query($query); $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><td>スキル</td></tr> <? while($row = mysql_fetch_assoc($result)): ?> <tr><td><?=$row[name]?></td><td><?=$row[address]?></td><td><?=$row[gender]?></td><td><?=$row[skill]?></td></tr> <? endwhile; ?> </table> <a href="input.html">再検索</a> </body> </html> コード
回答2件
あなたの回答
tips
プレビュー