WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:コンボボックスの動的連携

0:[投稿] 悩める乙女 [2004/12/07 22:30 ][環境:IE6 PHP+MySQL]

はじめまして。
過去ログを参照してみたのですが、解決策が見当たらなかったので、
質問です。
PHP+MySQLでサイトを構築しているのですが、登録フォーム内に
コンボボックスが2つ存在します。
両コンボボックスの値は、DBから取得し表示するのですが、
1つ目のコンボボックスで選択された値によって、
2つ目のコンボボックス生成したいと思っていますが、
よい方法がわかりません。
現在考えている方法としては、
1.1つ目のコンボボックスで選択された際に、PHPファイルを呼ぶ
2.DBの値をすべて取得し、JavaScriptでコンボボックスを作成する
を考えているのですが、どちらも解決方法がわかりません。
どうか解説策をご教授願います。


1:[回答] DR [2004/12/08 09:41 ]

JavaScriptであれば「プルダウン」「連動」で過去ログ引っかかると思います。
ただDB使うってことはデータ量多いですよね?
そしたらJavaScriptじゃないほうがいいかも?


2:[回答] コトノハ [2004/12/08 12:46 ]

1.の解決方法が良いと思います。
但し、イベントはボタンにした方が良いと思います。

>解決方法がわかりません。

もう少し具体的にお願いします。


3:[回答] 悩める乙女 [2004/12/08 15:29 ]

ご連絡が遅くなり、すいません。
DRさん、コトノハさんご回答ありがとうございます。

>DRさん
ご指摘の過去ログは参照したのですが、JavaScriptの場合、
最初に全データありきでないとできないのかなと思い、断念しました。
1つ目のコンボボックスの値によって、DBを再検索しその値をセットするというのがJavaScriptでは無理なのではと思ったからです。

>コトノハさん
私もご指摘の方法がよいかなと思っていますが、フォームの中に2つのコンボボックスがあるため、ボタンにしてしまうと、最終的な登録ボタンでPOSTした際にコンボボックスの値が取得できない、わかりません。

コーディングイメージは、以下です。
<body>
<form action="登録" method="POST">
<select name="コンボ1">
 <option value="">"あ"
       ・
       ・
</select>
<select name="コンボ2">
 <option value="">""
       ・
       ・
</select>
<input type="submit" value="登録">
</form>
</body>

上記でコンボ1の値が選択されたときに、
DBを再検索し、コンボ2の値を生成したいです。
最終的には、登録ボタンを押したときにDBにデータを登録する
という処理を実行したいと思っています。
再度、ご教授願います。


4:[回答] コトノハ [2004/12/09 12:35 ]

コンボ1選択 → 検索ボタン1押下 → フォーム送信 → 
コンボ2データ生成 → 画面表示 → コンボ2選択 →
登録ボタン押下 → DB登録

といったイメージです。


5:[回答] 悩める乙女 [2004/12/13 18:55 ]

>コトノハさん
お返事遅くなってしまい、すいません。

formの中にformを入れ子にした場合
(例えば、コトノハさんの言うイメージの検索ボタンを押下した時)に、
コンボの値だけを取得することはできるのでしょうか?
submitした際のactionは、大きなformが動作してしまうと思います。
解決方法があれば、ご教授願います。


6:[完了] 悩める乙女 [2004/12/13 19:26 ]

解決致しました。
みなさん、ありがとうございました。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World