如何从下拉列表中获取选定的值并将其传递给sql查询

我有两个下拉列表框,第一个是销售区域包含来自Cookie的不同类型的字母表,第二个下拉列表的名称是根据第一个下拉列表中选定的值进行更改。 我如何设法将选定的选项值传递给我的sql查询,以便可以根据选定的销售区域进行更改。 这是我想要的结果,我将我的代码插入代码片段,以便轻松进行编辑和演示。

function fetch_select(val)
{
 $.ajax({
 type: 'post',
 url: 'updateleave.php',
 data: {
  get_option:val
 },
 success: function (response) {
  document.getElementById("slct2").innerHTML=response; 
 }
 });
<table >
	<tr>
    	
	    <td>  Sales Area 
		<select name="Area" id="area" >
        <?php
   
        $sarea = explode(",",$_COOKIE['cooAreaCode']);
        foreach($sarea as $item){
		
        ?>
        <option   value="<?php echo strtolower($item); ?>"><?php echo $item; ?></option>
		
        <?php
		
        }
   


 
        ?>
       
       </select >
       </td>
	   <?
	       $var = $_POST['Area'];
	  $sql = "SELECT  StaffName FROM tblStaff WHERE AreaCode= '$var'";
      $rs = odbc_exec($link,$sql);
	 while ($row = odbc_fetch_array($rs)) {
		 $porr[] = $row;
	   }
	   
	  odbc_free_result($rs);   
	 odbc_close($link); 
	 ?>
	    <td>  Staff Name 
		<select id="slct2">
    
        ?>
       
       </select>
	   
       </td>
	   <label class="form_field">Your selected <span id="aggregator_name"></span></label>

使用append在选择标签中添加选项标签还可以在第一个下拉菜单(“#area”)的更改事件中执行所有工作

$(document).ready(function(){
$("#area").change(function()
{
var val =$(this).val();
 $.ajax({
 type: 'post',
 url: 'updateleave.php',
 data: {
  get_option:val
 },
 success: function (response) {
$("#clct2").append(response);
}
 });
});
});

我不是jQuery的粉丝,所以您需要将我的Javascript转换为您的需要,但您需要的是捕获第一个下拉列表中的onchange事件,并使用它来动态处理第二个下拉列表中的SQL。

<script>
document.getElementById('area').onclick = function(){
    var xmlhttp;
    var formData = new FormData();
    formData.append('area_value', this.value);
    if(window.XMLHttpRequest){
            xmlhttp=new XMLHttpRequest();
    } else {
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function(){
            if(xmlhttp.readyState==4 && xmlhttp.status==200){
alert(xmlhttp.responseText); // for DEBUGGING.
                    if(xmlhttp.responseText == 'false'){
                            alert(xmlhttp.responseText);
                    } else {
                            document.getElementById('slct2').innerHTML = xmlhttp.responseText;
                    }
            }
    }
    xmlhttp.open("POST", 'build_slct2.php');
    xmlhttp.send(formData);
    xmlhttp.onerror = function () { console.error(xmlhttp.statusText); }
}
</script>

build_slct2.php脚本将使用$_POST['area_value']创建所需的SQL查询,处理查询并构建最终在slct2下拉列表中的<option></option>列表。 build_slct2.php文件只会echoslct2的新内容。

链接地址: http://www.djcxy.com/p/93969.html

上一篇: How to get the selected value from dropdown list and past it to sql query

下一篇: Preventing SQL Injection in dynamic SQL