dポイントプレゼントキャンペーン実施中!

ウェブページについて質問です。PHP,MySQL,JavaScriptを利用したいと思っています。ページを表示させた時に、データベースからデータを取得してプルダウンメニュー1(コンボボックス)に値を表示させたいとします。さらにもう一つ、プルダウンメニュー2があり、1で選択した項目により、2で表示させる内容を変更させたいと思っています。

例えば、1のリストの中には、野菜、果物、お菓子とあって、野菜を選択した時には、リスト2には自動的ににんじん、ピーマン、きゃべつ などをセットしたいです。

データを一括で持ってきて、JavaScriptあたりで制御をすればいいのでしょうか?それともリスト1を選択した段階で、データベースにリスト2に表示する値をひっぱってこれば良いのでしょうか?またこの作業をするにあたって、ページをロード時にデータをプルダウン1にセットするように処理をしたいのですが、どのように処理をすればよいでしょうか?

A 回答 (2件)

処理方法は3つ。



1、毎回任意にsubmitする
リスト1の横に「絞込」ボタンをつけておいて
「野菜」を選んだときに「絞込」ボタンをおさせる・・・
するとリスト2に結果が書かれます。
<form>
<select name="select1">
<option>・・・
</select>
<input type="submit" value="絞込">
<select name="select2">
<option>・・・
</select>
</form>
って感じ

2.javascriptでsubmitする
リスト1にonChangeメソッドを設定しておき
フォームをsubmitする。
<form>
<select name="select1" onChange="this.form.submit()">
<option>・・・
</select>
<select name="select2">
<option>・・・
</select>
</form>
って感じ

3.ajaxでデータをsubmitして、リスト2を得る
ちょっと複雑で例が書きづらいのでソース割愛。
これが一番アプリらしい仕様。

4.だそく
あらかじめすべてのリスト2の要素を全て読み込んでおき、
リスト1のonChangeメソッドで、適当なリスト2を表示する。
オーバーヘッドが大きく、あまりお勧めしないため選外。

リスト2じたいは、サブミットされたデータをもとに、
PHPでArrayでデータを持っていてもいいですし、
SQLなどにデータを持たせてもよいでしょう。
    • good
    • 0

こんばんは。



簡単に言うと、この場合はデータベース(以下「DB」)からの値を使ってプルダウン(リストボックス)を作るわけなので
(1)PHPでDBにアクセスし、必要なデータを配列か何かに格納する。
(2)PHPの print命令 もしくは echo命令 で、リストボックスそのものを生成する。このとき(1)のデータを織り込めば、DBから読んだデータをリストボックス(の選択候補)に表示することができる。

…という感じです。
    • good
    • 0

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