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

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

<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);
    }
}

这是 findState.php

<?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>
4

3 回答 3

0

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

<?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; ?>

这只是您需要在 php 文件中使用的示例代码

于 2013-03-11T10:39:32.207 回答
0

只要您的 Ajax 正确生成和填充下拉列表,如下所示:

<select id="country" name="country" onChange="getState(this.value)" class="dropdown">
<option value="0">Select Country</option>
<option value="1">Country1</option>
<option value="2">Country2</option>
<option value="3">Country3</option>
</select>

检查萤火虫,或通过查看页面的源代码。一旦你知道这是正确的,提交表单并使用这样的 PHP 代码来检查:

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

一旦您知道从您的表单发送的国家/地区,您就可以使用该值放入数据库或任何您喜欢的东西。

于 2013-03-11T10:41:11.743 回答
0

我猜你插入查询是错误的。检查字段数和提供的值。

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."')";
于 2013-03-11T11:57:30.697 回答