正如标题所说,我需要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>
请帮助!!!
答案 0 :(得分:6)
如果您想通过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."'";
在此打印结果....;
答案 1 :(得分:2)
您应该将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'";
答案 2 :(得分:-1)
你可以使用
onchange="this.form.submit();"
。