MySQL データベースからデータを読み取る 2 つのドロップダウン メニューがあります。データベースへの接続にはPHPを使用しています。2 番目のドロップダウンは、最初のドロップダウンでの選択に基づいて設定されます。プロセスは次のように思えます(間違っている場合は修正してください):
- PHP セクションは MySQL データベースに接続し、dropdown1 に入力します。
- ユーザーが dropdown1 で値を選択すると、onchange イベントが呼び出されます。
- onchange 関数 (Javascript) 内で、クエリが MySQL データベースに送信され、dropdown1 の選択に基づいて dropdown2 の値が取得されます (ここでも PHP ですよね?)。
- dropdown2 が入力されます。
このタスクを実行するために Javascript と PHP を一緒に使用する方法がわかりません (上記の番号 3)。または、これはまったく行う方法ではないかもしれません。お知らせ下さい!
これが私のコードです。以下に示すように、PHP コード内に Javascript 関数を入れていますが、これは間違っていると思います。そこで行き詰まりました!
<php
$sql="SELECT distinct category FROM table1";
$result=mysql_query($sql);
$optionsCat="";
while($row = mysql_fetch_row($result)){
$optionsCat.="<option value=\"$row[0]\">$row[0]</option>";
}
function genSubCat($catID){
$sql="SELECT distinct subcategory FROM table1 where category=".$catID;
$result=mysql_query($sql);
$optionsSubCat="";
while($row = mysql_fetch_row($result)){
$optionsSubCat.="<option value=\"$row[0]\">$row[0]</option>";
}
}
?>
<select name="catDropDown" onChange="genSubCat(this)">
<option value="0">Select category</option>
<?php echo $optionsCat?>
</select>
<select name="subcategoryDropDown">
<option value="0">Select subcategory</option>
<?php echo $optionsSubCat?>
</select>