الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

استخراج البيانات لاختيارها من قائمه لا يعمل

بدأه muzamil87 في 25 يوليو 2010 · 4 رد · 797 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اخواني لدي هذا الكود الذي يقوم باستخراج المعلومات من قاعدة البيانات ويقوم بعرضها لاختيارها من قبل المستخدم وكل قائمه تعتمد على التي قبلها ولكن للأسف لم يعمل بشكل سليم وتبقى القوائم خاليه

index.php

<html>
<head>
<title>Roshan's Triple Ajax dropdown code</title>
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 getState(countryId) {		

		var strURL="findState.php?country="+countryId;
		var req = getXMLHTTP();

		if (req) {

			req.onreadystatechange = function() {
				if (req.readyState == 4) {
					// only if "OK"
					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);
		}		
	}
	function getCity(countryId,stateId) {		
		var strURL="findCity.php?country="+countryId+"&state="+stateId;
		var req = getXMLHTTP();

		if (req) {

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

	}
</script>
</head>
<body>
<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="getState(this.value)">
	<option value="">Select Country</option>
	<option value="1">USA</option>
	<option value="2">Canada</option>
    	</select></td>
  </tr>
  <tr style="">
	<td>State</td>
	<td ><div id="statediv"><select name="state" >
	<option>Select Country First</option>
    	</select></div></td>
  </tr>
  <tr style="">
	<td>City</td>
	<td ><div id="citydiv"><select name="city">
	<option>Select State First</option>
    	</select></div></td>
  </tr>
  <tr>
	<td> </td>
	<td> </td>
  </tr>
  <tr>
	<td> </td>
	<td> </td>
  </tr>
</table>
</form>
</body>
</html>

findState.php

<? $country=intval($_GET['country']);
$link = mysql_connect('localhost', 'root', ''); //changet the configuration in required
if (!$link) {
	die('Could not connect: ' . mysql_error());
}
mysql_select_db('test');
$query="SELECT id,statename FROM state WHERE countryid='$country'";
$result=mysql_query($query);

?>
<select name="state" onchange="getCity(<?=$country?>,this.value)">
<option>Select State</option>
<? while($row=mysql_fetch_array($result)) { ?>
<option value=<?=$row['id']?>><?=$row['statename']?></option>
<? } ?>
</select>

findcity.php

<? $countryId=intval($_GET['country']);
$stateId=intval($_GET['state']);
$link = mysql_connect('localhost', 'root', ''); //changet the configuration in required
if (!$link) {
	die('Could not connect: ' . mysql_error());
}
mysql_select_db('test');
$query="SELECT id,city FROM city WHERE countryid='$countryId' AND stateid='$stateId'";
$result=mysql_query($query);

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

اخي الكريم جرب هذه الطريقة فهي اسهل بكثير ولا تحتاج الى كل هذا الكود

مثلا اول قائمة اسمها main بعد ما تختار منها اسم القسم تتطلع قائمة تانية فيها كل الاقسام الفرعية التابعة له

هي كمثال فقط

<script>
function main()
{
var id=form.main.value
window.location.href='index.php?id='+id

}
</script>
<form name=form>
<select name=main>
<option value="value here">name here</option>

</form>

طبعا بعد ما تجيب البيانات عن طريق ال من قاعدة البيانات وتعرضها بالقائمة بصير هيك عندك الاي دي الخاص بالعنصر اللي اختاره الزائر ومنه تستعلم حسب هاذا الاي دي وتعرض النتائج في القائمة الثانية

تم تعديل هذه المشاركة بواسطة Xacker في 6 أغسطس 2010 في 16:46

#3

أخي لم تضع على ما يبدو <script>.

فقط </script>

#4

اخي الكريم

في المرفقات ستجد ملف عباره عن رسم بياني مبسط للفكره العامه التي ابحث عن طريقه لعملها

تقبل تحياتي

DOC260710.pdf

#5
mazenwrq كتب:

أخي لم تضع على ما يبدو <script>.

فقط </script>

اخي الكريم

<script> </script>

موجوده ومع ذلك لا يعمل

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…