ورود

View Full Version : کاربا لیست کشویی برای واکشی اطلاعات بانک



Taimaz_222
دوشنبه 13 آذر 1391, 10:22 صبح
سلام .در قسمتی از فرم ورود اطلاعات توسط کاربر 2 لیست کشویی (ComboBox) تعریف نمودم که ابتدا در اولی نام گروه و در دومی با توجه به آنچه اولی انتخاب شده زیرگروه های مربوط به اون گروه نمایش داده می شوند.
حال سوال من این است که چگونه با استفاده از تکنولوژی Ajax می توان بصورت بلادرنگ این کار رو انجام داد.


باتشکر از پاسخگوییتون.

Taimaz_222
دوشنبه 13 آذر 1391, 15:03 عصر
دوستان عزیز با توجه اینکه مشکلم حل شد ، کدهای مراحل انجام کار رو برای استفاده دیگران قرار می دم.
امیدوارم بتونید استفاده کامل رو ببرید.

ابتدا با استفاده از ajax یک Request می سازیم :


function getXMLHTTP() { //fuction to return the xml http object
var xmlhttp=false;
try{
xmlhttp=new XMLHttpRequest();
}
catch(e) {
try{
xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e){
try{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e1){
xmlhttp=false;
}
}
}

return xmlhttp;
}



function getCity(strURL) {

var req = getXMLHTTP();

if (req) {

req.onreadystatechange = function() {
if (req.readyState == 4) {
// only if "OK"
if (req.status == 200) {
document.getElementById('citydiv').innerHTML=req.r esponseText;
} else {
alert("There was a problem while using XMLHTTP:\n" + req.statusText);
}
}
}
req.open("GET", strURL, true);
req.send(null);
}

}
</script>

Taimaz_222
دوشنبه 13 آذر 1391, 15:05 عصر
بعد از ساخت اسکریپت ای جکس بالا فرم آن را به صورت دو Combo که یکی جهت انتخاب کشور و دیگری انتخاب شهر است می سازیم :




<form method="post" action="" name="form1">
<table width="60%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="150">Country</td>
<td width="150"><select name="country" onChange="getCity('findcity.php?country='+this.value)">
<option value="">Select Country</option>
<option value="1">USA</option>
<option value="2">Canada</option>
</select></td>
</tr>
<tr style="">
<td>City</td>
<td ><div id="citydiv"><select name="city">
<option>Select City</option>
</select></div></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
</form>

Taimaz_222
دوشنبه 13 آذر 1391, 15:10 عصر
و در نهایت هم فایل findcity.php را به جهت دسترسی به دیتابیس و خواندن اطلاعاتش را ایجاد می کنیم :



<? $country=$_REQUEST['country'];
$link = mysql_connect('localhost', 'root', ''); //changet the configuration in required
if (!$link) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db('db_ajax');
$query="select city from city where countryid=$country";
$result=mysql_query($query);

?>
<select name="city">
<option>Select City</option>
<? while($row=mysql_fetch_array($result)) { ?>
<option value><?=$row['city']?></option>
<? } ?>
</select>



دقت داشته باشید که نیازمند یک بانک با دو جدول City,Country می باشید .

که فایل نهای و فشرده او رو در زیر در اختیارتون می گذارم.
موفق و پیروز.

95957

mkh8586
شنبه 30 بهمن 1395, 12:29 عصر
بانکش خرابه