- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPの検索について)
PHPでの検索:50音順に人名と住所を表示する方法
このQ&Aのポイント
- PHPでの検索について質問があります。あるサイトで、「あ」~「ん」までの50音を表示しているとします。そのサイトから「あ」をクリックした時に、MySQLのデータベースの氏名テーブルから頭に「あ」のつく人を抽出し表示したいです。
- また、表示された「あ」のつく人をクリックすると、さらに住所テーブルから該当のデータを抽出し、住所を表示したいです。
- PHPでのプログラミング初心者ですが、このような機能を実現する方法について教えていただけますか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
どもども、coco1です。 普通なら<form>でドロップダウンボックスとかラジオボタンとかを使うパターンだと思うのですが、使わなくても出来ます。 検索スクリプトを記述したファイルをkensaku.phpとします。 <a href=kensaku.php?ini="あ">あ</a> <a href=kensaku.php?ini="い">い</a> ...としたファイルをkensaku.phpを呼び出す側に記述します。このファイルはphpでもhtmlでも構いません。 次に、kensaku.php側では $ini=$_GET["ini"]; $sql="select name, address from table where name like '$ini%' order by name"; という形でsqlを実行すればよいです。つまりこうすることで、formでmethodにGETを使ったのと同じことになるのです。 また、件数が多いときにはsql文にlimit句を追加することで、10件毎表示とかできます。 実際にmysqlでsqlを実行するまでには1.サーバに接続、2.データベースに接続、クエリを実行、結果を表示という流れになります。 この1.2.の手順は全てのスクリプトで共通の手順になるはずですから、別ファイルにして、その都度「require」文で呼び出すようにすればよいでしょう。 余談ですが、フォームを使わなくても出来ると言いましたが、この選択メニューの部分にもphpを使うことで、実際に存在するイニシャルだけを表示するとかのように、よりユーザーフレンドリーに設計できます。