Как говорится в названии, мне нужна помощь в 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."'";
распечатать результат здесь ….;
Вы должны добавить код 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();"
также.