フォームがあります。最初のフィールドはドロップダウン選択オプションです。ユーザーは会社の名前を選択します。名前に基づいて、会社のすべての支店の住所を示す 2 番目のドロップダウン選択オプションを生成する必要があります。
会社のデータは mysql データベースに保存されます。
上記を実現するにはどうすればよいですか?
フォームがあります。最初のフィールドはドロップダウン選択オプションです。ユーザーは会社の名前を選択します。名前に基づいて、会社のすべての支店の住所を示す 2 番目のドロップダウン選択オプションを生成する必要があります。
会社のデータは mysql データベースに保存されます。
上記を実現するにはどうすればよいですか?
基本的なこと-ajax経由で会社名をphpに送信し、データベースにクエリを実行してアドレスを取得し、ループ中に同じphpスクリプトに次のドロップダウンを入力してエコーアウトします。ajaxで受け取る
<select>
タグについて言えば、これを使用できます。<select name="option">
<option value="one"<?php echo ($data["option"] == "one") ? ' selected="selected"' : ""; ?>>One</option>
<option value="two"<?php echo ($data["option"] == "two") ? ' selected="selected"' : ""; ?>>Two</option>
<option value="three"<?php echo ($data["option"] == "three") ? ' selected="selected"' : ""; ?>>Three</option>
</select>
ここには2つのオプションがあります
最初のリストの最初の世代にそのコードを使用します。次に、2 番目のリストは AJAX で実行する必要があります (ここではJQUERYが役立ちます)。JQUERY で取得したい
var client=$('#client_name').find("option:selected");
次に、通常の AJAX リクエストを行います。
その一般的な接続を使用する代わりに、PDOを使用してデータベースに接続することをお勧めします。
Vamsi への返信で投稿したコードに基づくと、コードは次のようになります。
<label>Client Name</label><br>
<select id="client_name">
<?php
// PDO connect to the DB
$db = new PDO ('mysql:host=localhost;dbname=DB_NAME','DB_USER','DB_PASS');
$sql = 'SELECT name FROM client'
$result = $db->query($sql)->fetchAll(PDO::FETCH_ASSOC);
if(count($results)>0){ echo "<option></option>";}
foreach( $result as $key => $val)
{
// could also be $val['name'] depending on your db
echo "<option>".$key['name']."</option>";
}
?>
<select>