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

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

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

السلام عليكم ورحمه الله وبركاته ...... اخوانى الافاضل

اريد عمل قائمة منسدلة تظهر نتائجها اعتمادا على قائمة اخرى

فقمت بعمل القائمة التى فيها يظهر الاقسام الرئيسية .. وايضا القائمة التى يظهر فيها الاقسام الفرعية

لكن لا اعلم كيف اظهر الاقسام الفرعية اعتماداً على الاقسام الرئيسية مرفقة لكم الكود كامل

الاقسام الرئيسية = cat المفتاح الاساسي = cat_id

اسم القسم = cat_name

الاقسام الفرعية = supcat المفتاح الاساسي = supcat_id

اسم القسم الفرعي supcat_name

جدول القاعدة الخاص بالقسم الرئيسي cat

-- 
-- بنية الجدول `cat`
-- 

CREATE TABLE `cat` (
  `cat_id` int(11) NOT NULL auto_increment,
  `cat_name` varchar(255) NOT NULL,
  UNIQUE KEY `cat_id` (`cat_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1256 AUTO_INCREMENT=12 ;

-- 
-- إرجاع أو إستيراد بيانات الجدول `cat`
--

جدول القاعدة الخاص بالاقسام الفرعية subcat

-- 
-- بنية الجدول `supcat`
-- 

CREATE TABLE `supcat` (
  `supcat_id` int(10) NOT NULL auto_increment,
  `supcat_name` varchar(255) NOT NULL,
  `cat_id` int(11) NOT NULL default '0',
  PRIMARY KEY  (`supcat_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1256 AUTO_INCREMENT=10 ;

-- 
-- إرجاع أو إستيراد بيانات الجدول `supcat`
--

وهذا هوا كود الفورم الخاص بالقسم والقسم الفرعي ويعمل بشكل سليم لكن لا يعتمد على الاخر يظهرو فقط ياليت حد يحل لي المشكل انا اريد ان تظهر الاقسام الفرعية supcat معتمدة على cat

كود الفورم

<form method="POST" action="add.php">				
                <input type="text" name="name" size="20" value="اسم المنتج"><br>


				<select size="1" name="cat_id">
				<option value='0' disabled='disabled' selected>اختر القسم الرئيسي</option>
				<?
				include ('include/config.php');
				$select="select * from cat  where cat_id";
				$Result=mysql_query($select);
				while($Row=mysql_fetch_array($Result))
				{
				extract($Row);
				?>
				<option value="<?=$cat_id;?>"><?=$cat_name;?></option>
				<?
				}
				?>
				</select>
				<br>
				<select size="1" name="supcat_id">
				<option value='0' disabled='disabled' selected>اختر القسم الفرعي</option>
				<?
				include ('include/config.php');
				$select="select * from supcat  where supcat_id";
				$Result=mysql_query($select);
				while($Row=mysql_fetch_array($Result))
				{
				extract($Row);
				?>
				<option value="<?=$supcat_id;?>"><?=$supcat_name;?></option>
				<?
				}
				?>
				</select>
<input type="submit" value="ارسل" name="B1">
</form>

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

<?
include("include/config.php");

$insert="insert into prod (cat_id,supcat_id,name) values ('$cat_id','$supcat_id','$name')";
$Result=mysql_query($insert);
if($Result)
{
echo"تم الاضافة بنجاح";
}
?>

انتظر الرد

1
#2

انتظر الحل اخوانى وفقكم الله :sad:

#3
//السلام عليكم اخي الكريم , هذى هو الحل المناسب :)

<?php 
include ('include/config.php');
?>
<script language="javascript" type="text/javascript">
function filter()
{
	document.formList.action='';
	document.formList.submit();
}
</script>
<form name="formList" method="POST" action="add.php" >
<input type="text" name="name" size="20" value="اسم المنتج"><br>
<br/>
  <select size="1" name="mainCat" onchange="return filter();">
    <option value='0' disabled='disabled' selected>اختر القسم الرئيسي</option>
    <?
	$result=mysql_query("select `id`,`name` from `cat` ORDER BY `id` ASC ");
	while($rowUserCat=mysql_fetch_assoc($result))
	{
	if($_POST["mainCat"]==$rowUserCat["id"])
	{
		?>
		<option selected="selected" value="<?php echo $rowUserCat["id"];?>"><?php echo $rowUserCat["name"];?></option>
		<?
	}
	else
	{
		?>
		<option value="<?php echo $rowUserCat["id"];?>"><?php echo $rowUserCat["name"];?></option>
		<?	
	}

	}
	?>
    </select>
  <br/>
  <select size="1" name="supcat_id">
    <option value='0' disabled='disabled' selected>اختر القسم الفرعي</option>
    <?
	$resultSub=mysql_query("select * from `supcat`  where `cat_id`= '".$_POST["mainCat"]."' ");
	while($rowSub=mysql_fetch_assoc($resultSub))
	{
		?>
		<option value="<?php echo $rowSub["id"];?>"><?php echo $rowSub["name"];?></option>
		<?
	}
	?>
  </select>
 <br/> 
 <input type="submit" value="ارسل" name="B1">
</form>

تم تعديل هذه المشاركة بواسطة firasmf في 25 أكتوبر 2012 في 22:50

Firas M.Fatoum

#4

المثال يعمل شكرا جدا لك بارك الله لك اخي الفاضل

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

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

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

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

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