Динамическое значение dropdownlist из базы данных

Как я могу связать значение моего основного раскрывающегося списка с выпадающим списком. Значение выпадающего списка из таблиц main_list и sub_list. А также нагрузка на корпус не работает.

Main_list

id | value | id_no 1 | colors | 1 2 | fruits | 2 3 | animals| 3 4 | flowers| 4 

sub_list

 id | value | category 1 | red | 1 2 | blue | 1 3 | mango | 2 4 | banana | 2 5 | cat | 3 6 | dog | 3 7 | lotus | 4 8 | lily | 4 

И этот мой код

PHP:

 <body onload="run()"> <form id="form1" name="form1" method="post" action="<?php $_SERVER['PHP_SELF']?>"> Drop1 <?php $mysqli = new mysqli("localhost", "root", "", "lists"); $result = $mysqli->query("SELECT * FROM main_list GROUP BY id ORDER BY id"); $option = ''; while($row = $result->fetch_assoc()) { $option .= '<option value = "'.$row['value'].'">'.$row['value'].'</option>'; } ?> <select id="main" name="main" onchange="run()"> <!--Call run() function--> <option selected=selected>Choose</option> <?php echo $option; ?> </select><br><br> <?php if (isset($_POST['main'])) { $mysqli = new mysqli("localhost", "root", "", "lists"); $result1 = $mysqli->query("SELECT * FROM sub_list GROUP BY value ORDER BY id"); $option1 = ''; while($row = $result1->fetch_assoc()) { $option1 .= '<option value = "'.$row['value'].'">'.$row['value'].'</option>'; } } echo 'Drop2 '; echo '<select name="sub" id="sub" onchange="run()"> <option value=" " disabled="disabled" selected="selected">Choose one</option>'; echo $option1; echo '</select> '; ?> <input type="submit" name="submit" value="Submit" /> </form> 

Javascript:

 <script type="text/javascript"> function run(){ document.getElementById('form1').change() } </script> 

Related of "Динамическое значение dropdownlist из базы данных"

Проверить ниже Код:

Код первого списка будет выглядеть следующим образом:

 <form id="form1" name="form1" method="post" action="<?php $_SERVER['PHP_SELF']?>"> Drop1 <?php $mysqli = new mysqli("localhost", "root", "", "lists"); $result = $mysqli->query("SELECT * FROM main_list GROUP BY id ORDER BY id"); $option = ''; while ($row = $result->fetch_assoc()) { $option .= '<option value = "'.$row['value'].'">'.$row['value'].'</option>'; } ?> <select id="main" name="main"> <option selected=selected>Choose</option> <?php echo $option; ?> </select> <div id="sublist"></div> <input type="submit" name="submit" value="Submit" /> </form> 

Код Jquery будет выглядеть следующим образом:

  $('#main').change(function(){ $.ajax({ url : 'secondlist.php', data :{mainlist_id : $(this).val()}, dataType:'html', type:'POST', success:function(data){ $('#sublist').html(data); } }); }); 

Код на странице secondlist.php :

  $mysqli = new mysqli("localhost", "root", "", "lists"); $result1 = $mysqli->query("SELECT * FROM sub_list as s, main_list as m where s.category_id = m.id and s.category_id = $_POST['mainlist_id'] GROUP BY value ORDER BY id "); $option1 = ''; while ($row = $result1->fetch_assoc()) { $option1 .= '<option value = "'.$row['value'].'">'.$row['value'].'</option>'; } $output = 'Drop2 '; $output .= '<select name="sub" id="sub">'; $output .= '<option value=" " disabled="disabled" selected="selected">Choose one</option>'; $output .= $option1; $output .= '</select> '; echo $output; exit; ?> 

Некоторые изменения могут потребоваться в соответствии с вашими требованиями, но это определенно сработает для вас.

Дайте мне знать, если у вас есть какие-либо вопросы!

Благодаря!

вы можете использовать ajax на этом при смене основного, вы можете вызвать функцию, которая получает ответ через ajax и распечатывать, что на вашей странице является стандартным решением

 <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> <script> function run(id){ $.ajax({ type:'GET', url:'phpfile_to_make_combobox.php&pid='+id, success:function(strHtml) { $('.div_to_put_combobox').html(strHtml); } }); } </script> 

Функция запуска вызова при изменении выбора основной категории

Для получения дополнительной помощи! Google. Это не ракетостроение