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

كيف يمكن عمل أقسام رئيسية وأقسام فرعيه لانهائية؟

مغلق
بدأه romanncy في 24 أكتوبر 2007 · 12 رد · 1,516 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

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

الأخوة الكرام الأعضاء أنا عضو جديد هنا وأتمنى أن أفيدكم وأستفيد منكم

وأن يوفقنا الله عز وجل بالإستفادة بأوقتنا بما يرضى الله ورسولة صلى الله علية وسلم

أخوانى أنا دخلت على منتديات كثيرة تتكلم عن موضوع الأقسام وفروعها

ولكن لم أجد الحل الشافي برمجيا لها

واطلعت على سكربتات عن الأقسام ولكن لم أجد الا مستويان بمعنى

-CAT1

--SUBCAT 1

اضف الى ذلك عندم نقل الاقسام من قسم الى قسم

ولا يوجد حل الا حذفة واضافتها من جديد

طلبى هو أريد نظام للإضافة والتعديل والحذف والنقل للاقسام الفرعية تحت الاقسام الرئيسية

وعند حذف قسم رئيسي يحذف ما يندرج تحته من اقسام فرعية ولا يتركة بقواعد البيانات

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

CAT1

-SUBCAT1

--SUBCAT1-1

----SUBCAT1-1-1

------SUBCAT n-n-n

CAT2

-SUBCAT2

الخ

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

<SELECT>

لاستعملها فى النقل والتعديل والحذف والإضافة

بطريقة لا تحدث عبئا فى استعراضها من قواعد البيانات

شكرا لكم وأتمنى أن أجد حل ما لم أجده فى مكان أخر

في إنتظار الرد

#2

السلام عليكم

اخي romanncy :

لا اتسطيع ان افيدك نظريا , وان شاء الله حسويلك برنامج صغير , تاخذه وتقرأه وتحصل على الجواب الشافي

لمشكلتك .

شكرررررررررررررررا

سبحان الله والحمد لله ولا اله الا الله و الله اكبر

اللهم صلي وسلم وبارك على سيدنا محمد وعلى اله وصحبه وسلم

#3

أشكرك على التفاعل السريع أخي عدوون وفي الإنتظارك بس لا تتاخر شكرا لك

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

وأن يضعوها لتعم الفائدة

#4

وين الردود ..وين المشاركات؟؟!!

#5

الطريقه كتالي ...

حاول الوصول الى هذا الموضوع ولاحظ مايظهر لك في رابط ..

لو لاحظت انه يتم نقل ال id للقسم مطلوب الى صفحه اخرى ويتم

من خلال معرفته اختيار الاقسام ومواضيع التي تتعلق به

ونفس علميه على اقسام اخرى ...

وهاذا ما يعرف ب Realtion او علاقات بين جداول وهي ثلاث انواع

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

سسريه فيها مثل كلمات سر .. الخ

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

فلو افترضنا ان ان المقدمه لهواتف مدينه ما هي 02

فان ستجد الوف المنازل يحملون المقدمه هذه متبوعه بارقامهم وبتالي اصبحت العلاقه واحده لمتعدد

رابط متعدد ل متعدد: وهذه رابطه تحتاج لمعالجه يايجاد جدول جديد يحتوي على مفتاح الرئيسي لجدولين..

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

بتوفيق

#6

شكرا يا أبو حميد على مرورك مشكور

لكن صراحة يا ريت لو تدعم كلامك بشكل عملي

وذلك بوضع كود أو برنامج صغير

أستطيع فهمة

شكرا لك

#7

ساضع بين أيديكم بعض الأكواد لتفعيل الموضوع بشكل عملى أكثر

وكلي أمل ان أجد مشاركات فعالة

وسابدأ أنا اولا بكتابة بعض الاكواد

لنبدأ بقواعد البيانات

أنشأت قاعدة بيانات باسم section

وبداخلها جدول باسم cat

وهي كالتالي

CREATE TABLE `cat` (

`id` int(11) NOT NULL auto_increment,

`name` text NOT NULL,

`in_cat` int(11) NOT NULL default '0',

PRIMARY KEY (`id`)

) TYPE=MyISAM;

INSERT INTO `cat` VALUES (1, 'العام ', 0);

INSERT INTO `cat` VALUES (2, 'التميز', 1);

INSERT INTO `cat` VALUES (3, 'تجربة', 1);

INSERT INTO `cat` VALUES (4, 'تجريبي', 3);

بفرض أن لدينا جدول

cat

وبة ثلاث حقول

id

name

in_cat

id معرف القسم الرئيسي

name اسم القسم

incat متفرع من قسم رئيسي قيمتة id

هو أن القسم الرئيسي ياخذ رقم المعرف id بينما in_cat يا خذ القيمة صفر

أما اذا كان قسما فرعيا فان in_cat ياخذ رقم القسم الرئيسي الذي يندرج تحتة وهو id

وقمت بعمل أربع ملفات في المرفقات مع قواعد البيانات

- ملف الإتصال بقاعدة البيانات config.php

- ملفين للإضافة واحد يحتوى على نموذج لإضافة الأقسام والثاني لأضافتة الى قواعد البيانات.add.php و addsection

- ملف بسيط لعرض محتويات الأقسام.view.php

وهذة الملفات بسيطة برمجيا للتعديل عليها

من الأعضاء المحترمين اذا كان يريد أن يشاركنا خبرتة

وساتعرض بعض الاكواد بالملفات

ملف add.php

<form  method="post" action="addsection.php">
<table width="40%" border="0" cellpadding="0" cellspacing="0" dir="rtl" align="right">
  <tr>
	<td width="40%" ><div align="center">تحت قسم</div></td>
	<td width="60%"><div align="right">
<select name="in_cat"> 
<OPTION value="0" selected>قسم رئيسي</OPTION>
<?
include "config.php";
 $result = mysql_query("select * from cat");
while($row=mysql_fetch_array($result)){
?>
<Option Value='<? echo"$row[id]";?>' ><? echo"$row[name]";?> </Option>
<?
}
?>

</SELECT>
	</div></td>
  </tr>

  <tr>
	<td width="40%" ><div align="center">إسم القسم</div></td>
	<td width="60%"><div align="right">
<input type="text" name="name" size="30" dir="rtl" maxlength="30">
	</div></td>
  </tr>
  <tr>

  </tr>

<tr ><td colspan="2">
<center>
<br>
<input type="submit" name="insert" value="أضافة">
</center>
</td>
</tr>
</table>
</form>

وياخذ هذا النموذج المتغير name و in_cat

الى ملف addsection.php

<?

include "config.php";
mysql_query("INSERT INTO cat(name,in_cat)VALUES('$name','$in_cat')");

?>

والذي يدخلها بدورة الى قواعد البيانات

ملف view.php والخاص ياستعراض الاقسام

<table width="40%" border="0" cellpadding="0" cellspacing="0" dir="rtl" align="right">
  <tr>
	<td width="40%" >
 <a href="view.php?id=1">أضغط هنا</a>
 <div align="center">أقسام الموقع</div></td></tr>

 <tr>
	  <td width="60%">

		<div align="center">
		  <?
include "config.php";
if (isset($id)){
$result = mysql_query("select * from cat where in_cat='$id'");
while($row=mysql_fetch_array($result)){
echo"$row[name]"."<br>";
}
}
?>
		  </div></td></tr>
</table>

والمطلوب الان

أولا عمل إستعراض للأقسام بهذا الشكل

-العام

--التميز

-- تجربة

-- تجريبي

ثانيا

عمل أيضا نفس الإستعراض للأقسام ولكن في جملة select والموجود في

نموذج (FORM) الاضافة المرفق (add.php)

-العام

--التميز

-- تجربة

-- تجريبي

الملفات فى المرفقات

وفي إنتظار الردود

subcat.zip

#8

والله من كثر المشاركات تعبت :huh:

#9

تعتمد فكرة إنشاء أقسام رئيسية تحتوي على أقسام متفرعة منها تفرعاً لا نهائياً على فكرة .. الإبن والأب ...

سأحاول أن أطبق ذلك على مثالك إذا وجدت وقتاً لذلك ..

#10

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

اخي romanncy

اسف جدا على التاخير وذلك بسسب ضغط عمل واعتذر عن التاخير مرة اخرى .

عملتلك مشروع صغير جدا , ولكن فيه حل لمشكلتلك ان شاء الله , و طبعا المشروع ما فيو اي تنسيق , والصفحات مصممة على برنامج ال Dreamweaver .

وهذا المشروع في مجلد مضغوط , فك الضغط وحتلاقي ملف فيه ملاحظات اقرأه ونفذه , واي مشكلة او سؤال نحنه جاهزين .

وان شاء الله يكون هوه المطلوب B)

شكررررررررررررررررا لجميع الشباب المشاركين .

_______.rar

تم تعديل هذه المشاركة بواسطة عدوووون في 28 أكتوبر 2007 في 16:45

سبحان الله والحمد لله ولا اله الا الله و الله اكبر

اللهم صلي وسلم وبارك على سيدنا محمد وعلى اله وصحبه وسلم

#11

السلام عليكم جميعا

أشكرك شوقي على مروك الكريم ويكفني انك شاركت برأيك

وأنا واثق انك ستجد الوقت إن شاء الله لإبداعاتك

وفى الانتظار

أخي عدوووووووووون

لا تأسف على التأخير فكل تأخيرة وفيها خيرة ههههههههه

تسلم أيدك حبيبى

راح أنزل الملف الان

وجارى التجريب

مشكور بارك الله فيك

#12

الأخ عدوون

تم تجربة البرنامج الصغير

ولك جزيل الشكر

ولكن أرى انك لم تجعل الإضافة تحت الأقسام الرئيسية وتفرعاتها في قائمة منسدلة

بل وضعت الاقسام الرئيسية منفصلة عن الأقسام الفرعية

والطريقة التى استخدمها لا تعطي تعدد مستويات ....بل الاضافة على مستويين فقط

ولا يوجد تعدد للاقسام وتفرعاتها الى ملا نهاية

عموما أشكرك على مبادرتك الطيبة واهتمامك بالموضوع وأتمنى لك كل خير

#13

السلام عليكم

اخي romanncy : الله يعطيك العافية الحقيقة انا هاد يلي فهمته من طلبك .

شكرررررا .

-waf

(h)

سبحان الله والحمد لله ولا اله الا الله و الله اكبر

اللهم صلي وسلم وبارك على سيدنا محمد وعلى اله وصحبه وسلم

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

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

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

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

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

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