こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

コンボボックス(プルダウン)からデータを持ってくる方法

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

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

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

投稿日時 - 2007-01-30 23:37:24

QNo.2710336

暇なときに回答ください

質問者が選んだベストアンサー

処理方法は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などにデータを持たせてもよいでしょう。

投稿日時 - 2007-01-31 12:58:07

ANo.2

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

こんばんは。

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

…という感じです。

投稿日時 - 2007-01-31 00:01:16

あなたにオススメの質問