onchange выберите другой запрос mysql

Как говорится в названии, мне нужна помощь в onchange. У меня есть тег select, и мне нужно сделать другой запрос mysql, когда я выбираю что-то из списка выбора. Пример:

<select name="list"> <option>cars</option> <option>busses</option> <option>trucks</option> </select> 

и затем, когда я выбираю cars он делает это

 $query="select * from table where type='cars'"; 

и если я выберу trucks ,

 $query="select * from table where type='trucks'"; 

и так далее…
то мне нужно отобразить результат в div под примером списка

 <select name="list"> <option>cars</option> <option>busses</option> <option>trucks</option> </select> <div> this is where I need to display results from query</div> 

Пожалуйста помоги!!!

Если вы хотите изменить результат на ajax:

HTML:

  <select id="list" name="list"> <option>cars</option> <option>busses</option> <option>trucks</option> </select> 

в файле JS:

 $(document).ready(function() { $('#list').change(function() { var selected=$(this).val(); $.get("change_query.php?selected="+selected, function(data){ $('.result').html(data); }); }); }); 

и вы должны создать файл change_query.php и ваш запрос и код в нем и вернуть результат в него

 $type = $_POST["selected"]; $query="select * from table where type='".$type."'"; 

распечатать результат здесь ….;

  • Скажите мне, нужна ли вам какая-либо помощь, я просто провела вас в JQuery не во всех кодах

Вы должны добавить код SELECT к форме с атрибутом method установленным для post , а также кнопкой отправки, конечно. Затем php получит значение этих INPUTS и сделает все, что вы хотите.

  $term = $_POST['list']; /* In order to prevent unwanted queries or injection add an array with those terms and check if the posted value is in this array: */ $terms = array("cars" , "trucks"); if(!array_key_exists($term , $terms)) die(); //bad bad bad boy. $query = "select * from table where type='$term'"; 

вы можете использовать

 onchange="this.form.submit();" 

также.