在php中将ajax填充的下拉列表插入数据库 选择国家

在php中将ajax填充的下拉列表插入数据库 选择国家,php,mysql,ajax,Php,Mysql,Ajax,上面的代码从数据库中获取country,根据使用ajax的国家,我使用下面的代码创建了一个下拉列表,我无法插入state值。如何在php dbpage中获取状态值以插入状态值 <select id="country" name="country" onChange="getState(this.value)" class="dropdown"> <option value="0">Select Country</option> <?php echo $

上面的代码从数据库中获取country,根据使用ajax的国家,我使用下面的代码创建了一个下拉列表,我无法插入state值。如何在php dbpage中获取状态值以插入状态值

<select id="country" name="country" onChange="getState(this.value)" class="dropdown">
<option value="0">Select Country</option>
<?php 
echo $country;
?>
</select>

先选择国家
这是我完整的ajax代码
函数getState(countryId)
{       
var strURL=“findState.php?country=“+countryId;
var req=getXMLHTTP();
如果(请求){
req.onreadystatechange=函数(){
如果(req.readyState==4){
如果(请求状态==200){
document.getElementById('statediv')。innerHTML=req.responseText;
}
否则{
警报(“使用XMLHTTP:\n“+req.statusText时出现问题”);
}
}
}           
请求打开(“获取”,strURL,true);
请求发送(空);
}
}
这是findState.php

<div id="statediv" >
<select id="ddlstate" name="ddlstate"  class="dropdown" value="0">
<option>Select Country First</option>
</select>
</div>
this is my full ajax code
function getState(countryId)
{       
    var strURL="findState.php?country="+countryId;
    var req = getXMLHTTP();
    if (req) {
        req.onreadystatechange = function() {
        if (req.readyState == 4) {
            if (req.status == 200) {                        
                document.getElementById('statediv').innerHTML=req.responseText;                     
            }
            else {
                alert("There was a problem while using XMLHTTP:\n" + req.statusText);
            }
        }
    }           
    req.open("GET", strURL, true);
    req.send(null);
    }
}
>

请找到使用countryid的州,并以这种方式执行

<?php $country=intval($_GET['country']);
    $query="SELECT stateid,statename FROM state WHERE countryid='$country'";
    $result=mysql_query($query);
?>
<select name="state" onchange="getCity(<?php echo $country?>,this.value)">
    <option>Select State</option>
    <?php while($row=mysql_fetch_array($result)) { ?>
        <option value=<?php echo $row['stateid']?>>
            <?php echo $row['statename']?>
        </option>
    <?php } ?>
</select>


这只是php文件中需要使用的示例代码,只要Ajax正确生成并填充下拉列表,如下所示:

<?php $states= getStates($countryid);
$str ='';
$str .='<select id="ddlstate" name="ddlstate"  class="dropdown" value="0">';
foreach($states as $val){
$str.='<option value="'.$val->id.'">'.$val->name.'</option>';
}
$str.='</select>';
echo $str; exit; ?>

一旦您知道要从表单中发送国家/地区,您可以使用该值将其输入数据库或任何您喜欢的内容。

我猜您在查询中的插入是错误的。检查字段数量和提供的值

if( isset($_REQUEST['country'] ) ) {
 echo $_REQUEST['country'];
} else {
 echo "Country not sent from form";
}

同时显示PHP代码$state_id=$\u POST['ddlstate'];我在我的PHPDB页面中得到这样的值,这是我的insert查询insert到查询mas(雇员id、国家id、州id、城市id、经验、查询)值(“$employee id.”、“$country id.”、“$state id.”、“$city id.”、“$experience.”)";感谢您的回答,但我已经能够使用countryid填充state下拉列表,我只想在我的db页面中插入stateid。我想你没有得到我的问题我很容易得到国家值,这个国家id没有问题,问题是我需要从ajax下拉列表值中获得州id这是我的错误插入查询(员工id、国家id、州id、城市id、经验、查询)值('4'、'4'、''、'17'))我无法在我的db页面中插入stateid。请用更多代码更新您的问题。如果您可以显示getState()函数,这会有所帮助。以及处理Ajax请求的PHP代码。在这里,您可以看到,我实际上希望在不同的页面(即我的db页面)中使用stateid值,Ajax调用返回什么?Ajax调用后的HTML是什么样子的?查看页面源代码并查看其是否正确。此外,通过编辑将代码放在原始帖子中,而不是放在评论中,这很难阅读。这是插入查询GBR插入查询mas(员工id、国家id、州id、城市id、经验、查询)值(“$employee_id.”、“$country_id.”、“$state_id.”、“$city_id.”、“$experience.”、“$query.”)。。谢谢GBR,我已经得到了答案,谢谢一次again@Sam那么,实际的问题是什么。。??您现在可以将状态id插入数据库吗?以前我无法从下拉列表中获取stateid,现在使用ajax页面中的stateid值,现在可以获取stateid,现在可以将状态id插入数据库,谢谢:)
if( isset($_REQUEST['country'] ) ) {
 echo $_REQUEST['country'];
} else {
 echo "Country not sent from form";
}
insert into query_mas(employee_id,country_id,state_id,city_id,experience,query) values('".$employee_id."','".$country_id."','".$state_id."','".$city_id."','".$e‌​xperience."')";