onchange选择执行不同的mysql查询


onchange select do different mysql query

正如标题所说,我需要onchange方面的帮助。我有select标签,当我从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();"

同样。