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

上記のコードはデータベースから国を取得します。ajaxを使用している国によると、以下のコードを使用して1つのドロップダウンを作成しましたが、状態値を挿入できません。状態値を挿入するためにphpdbpageで状態値を取得するにはどうすればよいですか?

<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

クエリへの挿入が間違っていると思います。フィールドの数と指定された値を確認してください。

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 に答える
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>

firebug で確認するか、ページのソース コードを表示して確認してください。それが正しいことがわかったら、フォームを送信し、次のような PHP コードを使用して確認します。

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

国がフォームから送信されていることがわかったら、その値を使用してデータベースなどに入力できます。

于 2013-03-11T10:41:11.743 に答える
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 に答える