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

combo Box in php and javascript

مغلق
بدأه سلطان الرحيل في 21 مارس 2006 · 6 رد · 1,679 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

كيف الحال ..

أخواني هل يمكن أن اضع combobox في موقعي بحيث اذا اختار من combobox الاول على سبيل المثال Saudi Arabia

تظهر في combobox الثاني المدن التابعة ل Saudi Arabia .. بحيث تكون مرتبطة بقاعدة بيانات

اريد مساعدتكم أخواني

جزاكم الله خيرا

دمتم بخير

#2

بسم الله الرحمن الرحيم

أريد المساعدة في هذه الموضوع ..

أود أن يكون

combobox

mysql عن طريق قاعدة بيانات

<html>
<head>
</head><body onload="init()">
<script type="text/javascript">
var cat = new Array();

cat[0] = new Array(
    '1','الجهاز الدموي',
    '3','الجهاز الهضمي'
    );

cat[1] = new Array(
    '2','الترمذي',
    '5','البخاري'
    );

cat[2] = new Array(
    '4','أبو تمام',
    '6','امؤ القيس'
);

function init()
{
    optionTest = true;
    lgth = document.forms[0].second.options.length - 1;
    document.forms[0].second.options[lgth] = null;
    if (document.forms[0].second.options[lgth]) optionTest = false;
}

function populate()
{
    if (!optionTest) return;
    var box = document.forms[0].first;
    var number = box.options[box.selectedIndex].value;
    if (!number) return;
    var list = cat[number];
    var box2 = document.forms[0].second;
    box2.options.length = 0;
    for(i=0;i<list.length;i+=2)
    {
        box2.options[i/2] = new Option(list[i+1],list);
    }
}

function go()
{
    document.forms[0].submit();
}

</script>

<form  action="index.php">
<select name="first" onclick="populate()">
    <option value="0">جسم الإنسان</option>
    <option value="1">كتب السنة</option>
    <option value="2">شعراء</option>
</select>
<br>

<select name="second" onchange="go()">
    <option>قم باختيار تصنيف</option>
    <option>Your browser can't handle this script</option>
</select>
</form>
</body></html>
#3

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

هل تقصد بـComboBox أداة Select ?

إذا كانت هي فالحل بسيط بإذن الله

<?
$ser=mysql_query("select * from Table1");
$result=mysql_num_rows(4ser);
?>
<select size="1" name="D1">
  <option value="choose" selected>قم باختيار الصنف</option>
<?
for($i=0;$i<$result;$i++){
$row=mysql_fetch_array($ser);

?>
  <option value="<?echo $row[NameSection]?>"><?echo $row[NameSection]?></option><?}?>

  </select>

تم تعديل هذه المشاركة بواسطة المتميز في 25 مارس 2006 في 17:55

460.gif

#4

هذا موجود , لكن المشكلة انك بحاجة الى ارسال محتوى الفورم عند اخيار البلد ليحدد المدن

لكن الاحلى من هذه الطريقة و التي لا اعرفها , هي دون الحاجة الى ارسال محتوى الفورم

Let's google help you Before ask

--------------------------

My Blog : www.phplover.net

#5

السلام عليكم

الحل سهل ان شاء الله

تسترد البلد والمدن من قاعدة البيانات، ثم تركّب جمل تحتوي على البلد و مدن هذا البلد مفصلة بفاصل ما، ليكن مثلا الحرف %

سنحصل مثلا على:

الجملة 1: "السعودية%مكة المكرمة%الرياض%جدّة"

الجملة 2: "العراق%بغداد%هيت%سامراء%"

الجملة 3: "الجزائر%الجزائر%وهران%تيزي وزو"

بعدها في كل option من الselect تضع الجمل المركبة في ال value ، على المنوال التالي:

<select size="1" name="D1" onChange="changeSelect(this,this.form.cities);">
 <option value="choose" selected>قم باختيار الصنف</option>
//لكل جملة مركبة...
 <<option value="<?echo $"yourCompoundVariable?>"><?echo $countryName?></option
  </select>
// cities ComboBox
<select name="cities">
 // سيملأ بالمدن المتعلقة بالبلد المختار في الأعلى 
</select>

ثم يجب انشاء دالة بالجافاسكريبت javascript، المكلّفة بتفكيك الجملة المختارة في comoBox الأول، وملء الثاني.

function changeSelect(countriesSelect, citiesSelect) {
    
        data=countriesSelect.value
        data=data.split("%")
     
        for (j = 1; j < data.length; j++) citiesSelect.options[j-1]=new Option(data[j],data[j]);	
          
    }
#6

السلام عليكم

هدا إقتراح بسيط

أرجو التأكد ما إدا كان هناك أخطاء لأني كتبت الكود مباشرة بدون تجريب

لا تترددو إخواني بالسؤال

<?php
echo ' <select name="Code_country" onChange="document.location='index.php?Code_country=\'+this.options[this.selectedIndex].value\'">';

$sql="select * from country_table";
$query=mysql_query($sql) or die (mysql_error());

while ($data=mysql_fetch_array($query)
         {
          echo '<option value="'.$data['Code_country'].'">'.$data['country_name'].'</option>';
          }
echo '</select>';


$code_country=$_GET['Code_country'];
if (empty($code_country)) 
$sql="select * from city where Code_country=(select Code_Country from country_table limit 1,1)";
else 
$sql="select * from city where Code_country='$code_country' ";

echo '<select name="code_city">';

$query=mysql_query($sql) or die (mysql_error());

while ($data=mysql_fetch_array($query)
         {
          echo '<option value="'.$data['Code_city'].'">'.$data['city_name'].'</option>';
          }
;
echo '</select>';


?>

تم تعديل هذه المشاركة بواسطة فقير لله في 2 أبريل 2006 في 03:24

رَبِّ إِنِّي لِمَا أَنزَلْتَ إِلَيَّ مِنْ خَيْرٍ فَقِيرٌ

#7

السلام عليكم أردت فقط ان أهديكم هاته

FUNCTION

البسيطة من تصميمي تساعد في

SELECT

function dbcombobox($sql,$nam_dbcmbobox,$value,$display,$selected)
	{
	$query=mysql_query($sql) or die (mysql_error());
	$text='<select name="'.$nam_dbcmbobox.'">';
	$text.="<option value=''>--------------------</option>";
	while($data=mysql_fetch_array($query))
  {
  if ($data[$value]==$selected) 
  $text.='<option SELECTED value='.$data["$value"].'>'.$data["$display"].'</option>';
  else
  $text.='<option  value='.$data["$value"].'>'.$data["$display"].'</option>';
  }
	$text.='</select>';
	return $text;
	}

//**********************************************
$sql="select * from country_table";
echo dbcombobox($sql,'code_country','code_country','city_name','algeria');

أظن أن إستعمالها واظح و سهل

في أما ن الله

تم تعديل هذه المشاركة بواسطة فقير لله في 2 أبريل 2006 في 20:01

رَبِّ إِنِّي لِمَا أَنزَلْتَ إِلَيَّ مِنْ خَيْرٍ فَقِيرٌ

هذا الموضوع مغلق.

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