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

كيف أربط اتنين Combobox ؟

بدأه alattar في 5 أبريل 2008 · 5 رد · 1,475 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله و بركاته

عندي صفحة بي اتش بي بها اتنين combobox

و كل منهما يملأ عن طريق recordset

كالآتي : الأول:

<select name="Science" id="Science">
	  <?php
do {  
?>
	  <option value="<?php echo $row_rsSciences['ScienceID']?>"><?php echo $row_rsSciences['Science']?> </option>
	  <?php
} while ($row_rsSciences = mysql_fetch_assoc($rsSciences));
  $rows = mysql_num_rows($rsSciences);
  if($rows > 0) {
	  mysql_data_seek($rsSciences, 0);
	  $row_rsSciences = mysql_fetch_assoc($rsSciences);
  }
?>
	</select>

و الثاني :

<select name="Category" id="Category">
	  <?php
do {  
?><option value="<?php echo $row_rsCats['CatID']?>"><?php echo $row_rsCats['Category']?></option>
	  <?php
} while ($row_rsCats = mysql_fetch_assoc($rsCats));
  $rows = mysql_num_rows($rsCats);
  if($rows > 0) {
	  mysql_data_seek($rsCats, 0);
	  $row_rsCats = mysql_fetch_assoc($rsCats);
  }
?>
	</select>

و أريد ربط الاثنين ببعضهم

أي .. كلما اخترت نوع علم معين من Science

يعرض التصنيفات الموجودة فيه في الكومبو الثاني Categories

مع العلم أن جدول التصنيفات Categories به Foriegn key لجدول Sciences

اسمه ScienceID

أرجو المساعده

تم تعديل هذه المشاركة بواسطة alattar في 5 أبريل 2008 في 16:54

أعتذر لكل من طلب مني اختبار ولم أحضره..ولكن موقع أكتوال تيست تقريبا تم بيعه الي موقع آخر و تم إلغاء الحسابات القديمة

Microsoft Certified Solution Developer

أحب الصالحين و لست منهم

لعلي أن أنال بهم شفاعة

و أكره من تجارتهم معاصي

ولو كنا سواء في البضاعة

#2

مازلت في انتظار الاجابة اخواني الكرام

لأني في حاجة ماسة لها

أريد أن أعرف فقط ماذا ينبغي علي ان أفعل ليتم الربط بينهم

أعتذر لكل من طلب مني اختبار ولم أحضره..ولكن موقع أكتوال تيست تقريبا تم بيعه الي موقع آخر و تم إلغاء الحسابات القديمة

Microsoft Certified Solution Developer

أحب الصالحين و لست منهم

لعلي أن أنال بهم شفاعة

و أكره من تجارتهم معاصي

ولو كنا سواء في البضاعة

#3

على حد علمي أن الطريقة تسلتزم AJAX أو عن طريق PHP لكن مع تحديث للصفحة .

''‏اللهم إني أسالك إيمانا دائما وأسألك قلبا خاشعا وأسألك علما ‏نافعا وأسألك يقينا صادقا وأسألك دينا قيما وأسألك العافية من كل ‏بلية''

'‏اللهم أغفر للمؤمنين و المؤمنات و المسلمين و المسلمات الأحياء ‏منهم و الأموات'

www.it-scoop.com

#4

جزاك الله خيرا أخي علي محاولتك المساعدة

أنا أستخدم ال Dreamweaver

و هناك كنترول اسمه Jump Menu

استخدمته و جعلت عند اختيار كل عنصر فيه..يقوم بفتح نفس الصفحة

و لكن يرسل لها URL Variable

و في كل مرة يتم تحميل الصفحة , و بناءا علي هذا المتغير الموجود في العنوان

يتم تعبئة الكومبو الثاني

و لكن لي مشكلة صغيرة

هي أنه في كل مرة يتم اختيار اي عنصر من القائمة الأولي و الذهاب الي نفس الصفحة

يتم عودة الكومبو الي اختيار أول عنصر فيه.

و لتوضيح المشكلة سأرفق لكم الكود

انا في صفحة اسمها addbook.php

هذه الصفحة يتم بها ادخال بيانات الكتب الي قاعدة البيانات..و لا بد أن أختار أولا نوع العلم من كومبو بوكس

و في هذا العلم بعض التصنيفات..أريدها أن تظهر في الكومبو الآخر

و هذا الكود استخدمته لتعبئة الكومبو الأول

<select name="menu1" onchange="MM_jumpMenu('parent',this,0)">
		<?php
do {
?>
		<option " value="addbook.php?sid=<?php echo $row_rsSciences['ScienceID']; ?>"><?php echo $row_rsSciences['Science']?></option>
		<?php
} while ($row_rsSciences = mysql_fetch_assoc($rsSciences));
  $rows = mysql_num_rows($rsSciences);
  if($rows > 0) {
	  mysql_data_seek($rsSciences, 0);
	  $row_rsSciences = mysql_fetch_assoc($rsSciences);
  }
?>
	  </select>

لاحظ أنني جعلت الصفحة التي يذهب اليها عند اختيار أي عنصر هي نفس الصفحة..و لكن يرسل متغير

في العنوان بهذا الشكل addbook.php?sid=000

و المشكلة الأن..أنه في كل مرة يتم اختيار اي عنصر و تحديث الصفحة

فإن الكومبو يرجع لإختيار أول عنصر تلقائيا..أنا أريد عند اعادة تحديث الصفحة

أجد الكومبو علي نفس الاختيار الذي اخترته..و لكنه هنا يعود الي عرض أول عنصر

حاولت بقدر المستطاع تبسيط المشكلة..و جزاكم الله خيرا

أعتذر لكل من طلب مني اختبار ولم أحضره..ولكن موقع أكتوال تيست تقريبا تم بيعه الي موقع آخر و تم إلغاء الحسابات القديمة

Microsoft Certified Solution Developer

أحب الصالحين و لست منهم

لعلي أن أنال بهم شفاعة

و أكره من تجارتهم معاصي

ولو كنا سواء في البضاعة

#5

ده كود PHP وجافا اسكريبت هيعملك المطلوب تماما


echo("function reload(form)");
echo("{");
echo("var val=form.proj.options[form.proj.options.selectedIndex].value;");
echo("self.location='home.php?proj=' + val;");
echo("}");
echo("</script>");


$projid=$_GET['proj'];
$quer2=mysql_query("SELECT * FROM PROJECTS ");
if(isset($projid) and strlen($projid) > 0){
$quer=mysql_query("SELECT * FROM TASKS WHERE PROJID='".$projid."' AND STATUS!='d'");
$choise=mysql_query("SELECT * FROM PROJECTS WHERE PROJID='".$projid."'");
$choiserow = mysql_fetch_array($choise);
$projectnow=("<option value=\"{$choiserow['PROJID']}\" SELECTED>{$choiserow['PROJNAME']}</option>");
}
echo("<tr><td colspan=3> </td></tr>");
echo("<tr><td colspan=3 class='headertd'>Task Report</td></tr>");
echo("<form method=post name=f1 action='reports.php'>");
echo("<tr>");
echo("<td class=\"title\">Project </td>");
echo("<td class=\"action\">");
echo("<select size=1 name=proj onchange=\"reload(this.form)\">");
echo("<option value=all> All </option>");
echo $projectnow;
while ($grouprow = mysql_fetch_array($quer2)) {
echo("<option value=\"{$grouprow['PROJID']}\">{$grouprow['PROJNAME']}</option>");
}
echo("</select>");
echo("</td>");
echo("<td class=\"action\"></td>");
echo("</tr>");

echo("<tr>");
echo("<td class=\"title\">Task</td>");
echo("<td class=\"action\">");
echo("<select size=1 name=task>");
echo("<option value=all> All </option>");
while ($grouprow = mysql_fetch_array($quer)) {
echo("<option value=\"{$grouprow['TASKID']}\">{$grouprow['TASKNAME']}</option>");
}
echo("</select>");
echo("</td>");
echo("<td class=\"action\"><input name='taskreport' type=submit value='Get Report'></td>");
echo("</tr>");
echo("</form>");
			echo("<script language=JavaScript>");

#6

وايضا يوجد للدريمويفر كائن اسمه dependant drop down combobox

ابحث عنه ونزله وجربه

بالتوفيق

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