これ何て呼びますか Part2

例えば、「あ」~「ん」までの50音を表示しているHPがあるとします。

そのHPより「あ」をクリックした時に、MySQLのデータベースの氏名テーブルより頭に「あ」のつく人を
抽出して表示したいです。

そしてその表示された「あ」のつく人をクリックすると
さらに住所テーブルより該当データを抽出し
住所を表示するようにしたいのですが。

あ い う え お

クリック
↓↓
青木○○ 足立○○ 安藤○○ (HP上に表示) 

クリック
↓↓
青木○○ 東京都渋谷区○○1-2-3

例としてはこんな感じなんですが・・・わかりますでしょうか??

なにぶんPHPでのプログラミングは初めてなもので
的外れな質問をしてしまうかもしれませんが
よろしくお願いいたします。

A 回答 (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を使うことで、実際に存在するイニシャルだけを表示するとかのように、よりユーザーフレンドリーに設計できます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報