メイン項目とその子項目を含むデータベースからドロップダウン リストを作成しようとしています。主な項目を optgroup ラベルにし、子項目をオプション項目にしたいと考えています。
<select>
<optgroup label="$rs_pa['Name']">
<option value="$rs_ch['Link']">$rs_ch['Name']</option>
<option value="$rs_ch['Link']">$rs_ch['Name']</option>
</optgroup>
<optgroup label="$rs_pa['Name']">
<option value="$rs_ch['Link']">$rs_ch['Name']</option>
<option value="$rs_ch['Link']">$rs_ch['Name']</option>
</optgroup>
</select>
上記は、各変数がどこに収まるかを示すための単なるスキームです..
$rs_pa['Name] - 親アイテムの名前です。
$rs_ch['Name] - 子アイテムの名前です。
$rs_ch['Link'] - 子アイテムのリンクです。
これは私が今持っているコードです:
$mysql_table_items = "sys_menu_top";
$mysql_table_options = "sys_options";
// SQL QUERY
$mysql_result_number = mysql_query("SELECT VALUE FROM $mysql_table_options WHERE Name LIKE 'nav_menu_elements_on_line_usr'") or die($myQuery . "<br/><br/>" . mysql_error());
$mysql_select_parent = "SELECT * FROM $mysql_table_items WHERE `Parent` = '0' AND Type LIKE 'top' AND Active = 1 ORDER BY `Order` ASC";
$mysql_select_child = "SELECT * FROM $mysql_table_items WHERE `Parent` = '" . $rs_pa['ID'] . "' AND Active = 1 ORDER BY `Order` ASC";
// SQL RESULT
$mysql_result_number = mysql_fetch_array($mysql_result_number, MYSQL_ASSOC) or die("Error: Query Failed! " . mysql_error());
$mysql_result_parent = mysql_query($mysql_select_parent) or die("Error: Query Failed! " . mysql_error());
$mysql_result_child = mysql_query($mysql_select_child) or die("Error: Query Failed! " . mysql_error());
$output .= "<select>";
while ($rs_pa = mysql_fetch_array($mysql_result_parent)) {
$output .= "<optgroup label='" . $rs_pa['Name'] . "'>";
while ($rs_ch = mysql_fetch_array($mysql_result_child)) {
$output .= "<option value='" . $rs_ch['Link'] . "'>" . $rs_ch['Name'] . "</option>";
}
$output .= "</optgroup>";
}
$output .= "</select>";
echo $output;
問題は、これが正しく表示されないことです..私はすべてを試しましたが、私はphpが得意ではありません..助けてくれてありがとう..