Создать несколько зависимых выпадающих меню с функцией onchange в PHP - PullRequest
0 голосов
/ 07 апреля 2019

Я хочу создать четыре выпадающих меню с использованием функции onchange в PHP.

Содержание в первом раскрывающемся меню (Год) не зависит, тогда как раскрывающееся значение месяца зависит от выбора года, раскрывающееся значение недели зависитпри выборе Месяца и выпадающем списке Сумма зависит от выбора Недели.

Все столбцы находятся в одной Таблице Коллекция , как показано ниже

Database Table collection

PHP код: -

<select name="year" id="year">
<option value="">Select</option>;
<?php $select_year=mysqli_query($db,"SELECT * FROM collection");
while ($row=mysqli_fetch_array($select_year)){
$year=$row['Year'];
echo '<option value="'.$row['Year'].'">'.$row['Year'].'</option>';} ?>

<select name="month" id="month" onchange="">
<option value="">Select</option>;
<?php $select_month=mysqli_query($db,"SELECT * FROM collection where Year like '$year'");
while ($row2=mysqli_fetch_array($select_month)){
$month=$row2['Month'];
echo '<option value="'.$row2['Month'].'">'.$row2['Month'].'</option>';} ?>

<select name="week" id="week" onchange="">
<option value="">Select</option>;
<?php $select_week=mysqli_query($db,"SELECT * FROM collection where Month like '$month'");
while ($row3=mysqli_fetch_array($select_week)){
$week=$row3['Week'];
echo '<option value="'.$row3['Week'].'">'.$row3['Week'].'</option>';} ?>

<select name="amount" id="amount" onchange="">
<option value="">Select</option>;
<?php $select_amount=mysqli_query($db,"SELECT * FROM collection where Week like '$week'");
while ($row4=mysqli_fetch_array($select_amount)){
$year=$row4['Amount'];
echo '<option value="'.$row4['Amount'].'">'.$row4['Amount'].'</option>';} ?>
</select>

Я знаю, что мой код неверен, также я не знаю, что поместить внутрь onchange = "".(При необходимости добавьте код jquery или ajax)

1 Ответ

0 голосов
/ 07 апреля 2019

То, что вы ищете, называется динамически зависимым полем выбора . Это хорошее решение, которое включает вызовы jQuery / JavaScript и AJAX на ваш сервер. Вы можете прочитать больше об этом здесь . Эта ссылка также содержит довольно подробный пример.

Более простое решение включает в себя немного больше хитрости jQuery / JavaScript, где значения, представленные пользователю, были сопоставлены друг с другом при загрузке. Достоинством является то, что значения обновляются быстрее, как все это делается в браузере, но недостатком является то, что JavaScript немного сложнее и не подходит для большого числа взаимозависимых опций.

...