i create dynamic multiple country dropdown using Jquery/PHP/MySql
. this worked fine and i store/put
country/state/town for each user in MySql Database like this (usertable)
:
id | country | state | town |
1 | 1 | 1 | 1 |
2 | 1 | 1 | 3 |
3 | 1 | 2 | 8 |
now in edituser.php
page i need to fetch/retrieve
MySql data (usertable)
to my Jquery/Ajax dropdown. i call edituser.php?id=1
Now i need to print/show user data to dropdown Ajax
for edit country/state/town user.
How Do can i retrieve/print/show this?
JS:
<script type="text/javascript" src="js/jquery-1.4.1.min.js"></script>
// jquery library file
<script type="text/javascript">
/*This function is called when state dropdown value change*/
function selectState(state_id){
if(state_id!="-1"){
loadData('city',state_id);
}else{
$("#city_dropdown").html("<option value='-1'>Select city</option>");
}
}
/*This function is called when city dropdown value change*/
function selectCity(country_id){
if(country_id!="-1"){
loadData('state',country_id);
$("#city_dropdown").html("<option value='-1'>Select city</option>");
}else{
$("#state_dropdown").html("<option value='-1'>Select state</option>");
$("#city_dropdown").html("<option value='-1'>Select city</option>");
}
}
/*This is the main content load function, and it will
called whenever any valid dropdown value changed.*/
function loadData(loadType,loadId){
var dataString = 'loadType='+ loadType +'&loadId='+ loadId;
$("#"+loadType+"_loader").show();
$("#"+loadType+"_loader").fadeIn(400).
html('Please wait... <img src="image/loading.gif" />');
$.ajax({
type: "POST",
url: "loadData.php",
data: dataString,
cache: false,
success: function(result){
$("#"+loadType+"_loader").hide();
$("#"+loadType+"_dropdown").
html("<option value='-1'>Select "+loadType+"</option>");
$("#"+loadType+"_dropdown").append(result);
}
});
}
</script>
HTML:
/*This code will show country dropdown list*/
<select onchange="selectCity(this.options[this.selectedIndex].value)">
<option value="-1">Select country</option>
<?php
while($rowCountry=mysql_fetch_array($resCountry)){
?>
<option value="<?php echo $rowCountry['id']?>">
<?php echo $rowCountry['country_name']?>
</option>
<?php
}
?>
</select>
/*State dropdown list*/
<select id="state_dropdown"
onchange="selectState(this.options[this.selectedIndex].value)">
<option value="-1">Select state</option>
</select>
<span id="state_loader"></span>
/*City dropdown list*/
<select id="city_dropdown">
<option value="-1">Select city</option>
</select>
<span id="city_loader"></span>
Loaddata.php
include('dbConnect.inc.php');
$loadType=$_POST['loadType'];
$loadId=$_POST['loadId'];
if($loadType=="state"){
$sql="select id,state_name from state_test where
country_id='".$loadId."' order by state_name asc";
}else{
$sql="select id,city_name from city_test where
state_id='".$loadId."' order by city_name asc";
}
$res=mysql_query($sql);
$check=mysql_num_rows($res);
if($check > 0){
$HTML="";
while($row=mysql_fetch_array($res)){
$HTML.="<option value='".$row['id']."'>".$row['1']."</option>";
}
echo $HTML;
}