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

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

مغلق
بدأه hemnf في 18 مايو 2007 · 36 رد · 2,933 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام

انا لا اعرف هل حل مشكلتي هي اقسام الفرعية او هناك طريقة اخرى لحله؟

المشكلة

انا عندي

اقسام الرئيسية مثل ( قسم العلمي , قسم التاريخي , قسم الفني , ....)

في قسم العلمي فيها اقسام التالية ( قسم الرياضيات, قسم كومبيوتر , قسم الكيمياء, ....)

في قسم الرياضيات يمكن اضافة المواضيع فيها مثل (انواع اللغة , العنوان المقالة , رسم لمقالة, التفاصيل المقالة,) == مثل الاخبار

السؤالي

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

ارجوا منكم اجابتع و ارجوا سؤالي واضحة؟

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

الاول فيها اقسام الذي يضفون و الثانى فيها العنوان الاخبار و التفاصيل..

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

لكــــــــــــــن المشكلة في عرضه في الموقع

هذا الصورة الاولى يظهر اللوحة التحكم و فيها اختيارات

kurd953Untitled-1.jpg

و هذه الصورة لتوضيح و فيها سؤالي و ارجوا نظرة اليه

kurd955Untitled-2.jpg

#2

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

بمعنى أن الجدول الأول يحوي معلومات القوائم الرئيسية، والجدول الثاني يحوي معلومات القوائم الفرعية ويوجد به أيضا مفتاح الفهرسة للجدول الرئيسي. أي كلما أضاف المستخدم قائمة فرعية جديدة تعتمد على قائمة رئيسية فهو يضيف المفتاح الخاص بالقائمة الرئيسية مع معلومات القائمة الفرعية وهكذا. حتى يتضح لك الأمر انظر للشكل التالي:

01.gif

بهذا الشكل تستطيع استدعاء أي عنصر من الجدولين لأن هناك مفتاح واحد يربط بينهم.

جرب وأخبرنا بالنتيجة

sign3.jpg
#3

شكرا لك اخي لردك

اذا ممكن شرح كود كيفية ربط بين جدولين او رابط لشرح هذا

شكرا لك

اسف انا hemnf لكن في امس نسيت كلمة سر هذا الاسم و انه اصلي :)

#4

الربط بين الجدولين هو عبارة عن استعلام sqlوسيكون با الشكل التالى

select "الحقول التي تريد اضافتها من الجدول الاول والثاني"
 from main_menu,sub_menu where main_menu.main_menu_id=sub_menu.main_menu_id

بقدر الكد تكتسب المعالي ... ومن طلب العلا سهر الليالي

ومن رام العلى من غير كد ... أضاع العمر في طلب المحالِ

#5

الربط بين الجدولين هو عبارة عن استعلام sqlوسيكون با الشكل التالى

select "الحقول التي تريد اضافتها من الجدول الاول والثاني"
 from main_menu,sub_menu where main_menu.main_menu_id=sub_menu.main_menu_id

بقدر الكد تكتسب المعالي ... ومن طلب العلا سهر الليالي

ومن رام العلى من غير كد ... أضاع العمر في طلب المحالِ

#6

شكرا لك اخي العزيز

مشكلتي في عرض الاقسام في الموقع

هذه التفاصيل المشكلتي

عندي جدول باسم info مثل هذا

CREATE TABLE `info` (

`ID` int(12) NOT NULL auto_increment,

`lang` varchar(123) NOT NULL default '',

`catagory` varchar(222) NOT NULL default '',

`subject` varchar(255) NOT NULL default '',

`detials` text NOT NULL,

`imgurl` varchar(255) NOT NULL default '',

`subcat` varchar(255) NOT NULL default '',

PRIMARY KEY (`ID`)

) TYPE=MyISAM AUTO_INCREMENT=0 ;

Lang الموقع ب اربعة لغات هذا الثابت

catagory الاقسام الرئيسية و هم ثابت

subcat الاقسام فرعیه‌ و یدخل المعلومات من جدول الثاني لاضافة الاقسان الفرعية

subject عنوان الاخبار

detials التفاصيل الاخبار

imgurl الصورة مع الاخبار

الجدول الثاني

CREATE TABLE `subcat` (

`id` int(11) NOT NULL auto_increment,

`subcat` varchar(222) NOT NULL default '',

PRIMARY KEY (`id`)

) TYPE=MyISAM AUTO_INCREMENT=0 ;

هذه الجدول لاضافة الاقسام الفرعية

المستخدم يضيف القسم الفرعي في جدول الثاني و عندما يضيف الخبر في جدول الاول يضيف كل الاقسام الفرعية في كومبوبوكس مثل الصورة اول في مشاركتي الاول

حتى الان ما عندي مشكلة

مثلا عندي قسم رئيسي باسم قسم العلمي

المستخدم يضيف الاقسام (الرياضيات , الكيمياء , الفيزياء ...)

في واجهة الموقع عندي صفحة الاولي انديكس و فيها القوائم يضمن الاقسام الرئيسية

مثل هذا الصورة

kurd96809.jpg

مثلا عندما يضغط على القسم العلمي

يظهر الاقسام الفرعية مثل الرياضيات و الفيزياء ..

انا استخدم هذا الاستعلام لاظهار هذه الاقسام

result=mysql_query("SELECT * FROM subcat where lang='arabic' and subcat='العلمي' ORDER BY id DESC");

مثل هذه الصورة

kurd96908.jpg

هنا لا اعرف كیف یمكن رابط قسم الرياضيات من اي شيء؟ كيف يمكن عندي صفحة فيها الاخبار خاص بقسم الرياضيات؟؟

مثلا اذا انقر على قسم الرياضيات تظهر الاخبار خاص ب قسم الرياضيات

مثل هذه الصورة

kurd97007.jpg

و عندما انقر على الاخبار الاول يظهر التفاصيل مثل هذه الصورة

kurd971Untitled-1.png

هذا يعني انا عندي مشكلة في رابط في اقسام الفرعية لاظهار الاخبار تابع لهذا القسم؟؟؟

ارجوا فيها وضوح و مساعدتي ؟؟ لانه انا عاجل لحل هذا المشكلة

#7

تحتاج إعادة تصميم الجداول لأن الجدولين التي عملتها لا تساعدة كثيرا لأن وسيلة الربط بينهما مفقودة

تحتاج لأن تعمل الآتي:

الجدول الأول، وفيه الحقول التالية: مفتاح الفهرسة الرئيسي + اسم اللغة + العنوان الرئيسي.

الجدول الثاني، وفيه الحقول التالية: مفتاح الفهرسة + مفتاح الفهرسة من الجدول الأول للربط بينهم + العنوان الفرعي .

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

تستطيع عمل كل هذا في جدول واحد أو اثنين، أو ثلاثة مثلما شرحت لك في السابق ويبقى لك الاختيار حسب كمية البيانات لديك.

يبقى الربط بينهم وسيكون بهذا الشكل تقريبا:

$select = "SELECT * FROM first_table, second_table, third_table LEFT JOIN second_table ON first_table.id=second_table.first_tableID LEFT JOIN third_table ON first_table.id=third_table.first_tableID WHERE first_table.id='الرقم الرئيسي' AND second_table.id='الرقم الفرعي' AND third_table.id='رقم الخبر'";

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

$select = "SELECT * FROM first_table";

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

$select = "SELECT * FROM first_table, second_table LEFT JOIN second_table ON  first_table.id=second_table.first_tableID";

أرجو لك التوفيق

sign3.jpg
#8

السلام عليكم

شكرا لك اخي العزيز

بنسبة لهذا الجملة

first_table.id='الرقم الرئيسي' AND second_table.id='الرقم الفرعي' AND third_table.id='رقم الخبر'";

من اين احصل على رقم (الرئيسي و الفرعي و الخبر)؟

اخي الكريم هل ممكن كتابة كود لتركيب كل من الثلاثة الجداول؟

انا تعبتك كثيرا انا اسف

#9

أنا لم تتعبني لكن أنا أريدك أن تتعب حتى لا تحتاج لمساعدة أحد في المستقبل.

لن أستطيع كتابة الكود كاملا لأنه سيبدو أنني أنا من عمل لك كل البرنامج. سأعطيك المفتاح الأساسي لعمل مثل هذا المشروع وأنت قم بتطبيق الفكرة ثم إذا واجهتك مشكلة فسنكون هنا لمساعدتك.

طريقة الحصول على معلومات first_table.id='الرقم الرئيسي' AND second_table.id='الرقم الفرعي' AND third_table.id='رقم الخبر'"; تكون غالبا من عنوان الصفحة أو بما يسمى query string. فمثلا عند الضغط على القسم العلمي وهو كقائمة رئيسية وتريد عرض ما تحته من قوائم فرعية فستحتاج لإضافة متغير في عنوان الصفحة بهذا الشكل:

http://www.yourdomain.com/index.php?main_page=5

تحصل على هذه القيمة من خلال المتغير GET بهذا الشكل:

$main_pagr = $_GET['main_page']

5 هو رقم هذه القائمة الرئيسية في قاعدة البيانات، ولو طبقنا هذا المثال فسنحتاج لأن نستدعي الجدول الثاني لأن لدينا رقم الفهرس من الجدول الأول مخزن لدينا في الجدول الثاني للربط فسيكون بهذا الشكل تقريبا:

$select = "SELECT * FROM second_table WHERE first_tableID='$_GET['main_page']'";

وهكذا مع بقية المعلومات

بالتوفيق

sign3.jpg
#10

شكرا لك و شكرا لنصيحتك

اخي

القوائم الرئيسية ثابتة مثلا قائمة العلمي يمكن هناك صفحة باسم science.php عندما يضغط على قسم علمي يظهر في science.php القوائم الفرعية لقسم العلمي بواسطة هذا الكود

SELECT * FROM subcat where lang='arabic' and subcat='العلمي'

%

#11

شكرا لك و شكرا لنصيحتك

اخي

القوائم الرئيسية ثابتة مثلا قائمة العلمي يمكن هناك صفحة باسم science.php عندما يضغط على قسم علمي يظهر في science.php القوائم الفرعية لقسم العلمي بواسطة هذا الكود

SELECT * FROM subcat where lang='arabic' and subcat='العلمي'

لكن مشكلة في اقسام الفرعية؟ انا كيف اعلم القائمة فرعية (مثلا رياضيات) ما هي رقمه؟ حتى اكتب شرط ليظهر الاخبار تابعة لقسم رياضيات؟

و عفوا اخي ما معنى هذا ؟

اقتباس
تكون غالبا من عنوان الصفحة أو بما يسمى query string

و سؤالي اخر من جدول الثاني

مفتاح الفهرسة + مفتاح الفهرسة من الجدول الأول للربط بينهم + العنوان الفرعي

اذا كان جدول اول بهذا الشكل

CREATE TABLE `first` (
  `firstid` int(12) NOT NULL auto_increment,
  `lang` varchar(122) NOT NULL default '',
  `cat` varchar(222) NOT NULL default '',
  PRIMARY KEY  (`firstid`)
) TYPE=MyISAM AUTO_INCREMENT=1;

ما هي خاصية (مفتاح الفهرسة من الجدول الأول للربط بينهم) ؟؟ هل هي firstID من اي نوع؟ تكست او انتيجر؟

مع حبي لك

#12

يبدو لي أنك تحتاج قليلا إلى بعض الأساسيات البسيطة في بناء قاعدة بيانات، أتمنى الذهاب لهذا الرابط للحصول على معلومات تستطيع من خلالها الوصول لما تريد وسأكون هنا لمساعدتك:

http://prog.arccn.net/modules.php?name=New...icle&sid=30

http://prog.arccn.net/modules.php?name=New...icle&sid=31

بالتوفيق

sign3.jpg
#13

شكرا لك

انا اعرف كيفية بناء قاعدة و لكن لا اعرف لماذا انا مشوش لهذا الموضوع؟؟ :(

انا بنيت ثلاثة الجداول

بهذه الطريقة

الجدل الاول

CREATE TABLE `first` (
  `firstID` int(12) NOT NULL auto_increment,
  `lang` varchar(122) NOT NULL default '',
  `cat` varchar(222) NOT NULL default '',
  PRIMARY KEY  (`firstID`)
) TYPE=MyISAM AUTO_INCREMENT=1;

Secont table

CREATE TABLE `second` (
  `secondID` int(12) NOT NULL auto_increment,
  `firstID` int(12) NOT NULL default '0',
  `subcat` varchar(222) NOT NULL default '',
  PRIMARY KEY  (`secondID`)
) TYPE=MyISAM AUTO_INCREMENT=1;

Third Table

CREATE TABLE `third` (
  `thirdID` int(12) NOT NULL auto_increment,
  `firstID` int(12) NOT NULL default '0',
  `subject` varchar(255) NOT NULL default '',
  `detials` text NOT NULL,
  `imgurl` varchar(255) NOT NULL default '',
  PRIMARY KEY  (`thirdID`)
) TYPE=MyISAM AUTO_INCREMENT=1;

السؤالي

ماهی قیم و كیف ادخل بیانات فی firstID فی جدولین الثاني و الثالث؟

انا اضيف الاقسام الرئيسية في جدول الاول وما عندي اي مشكلة و ماذا حول جدول الثاني؟

مثل هذه الصورة

kurd977Untitled-21.png

الجدول الثاني يتضمن

مفتاح الفهرسة + مفتاح الفهرسة من الجدول الأول للربط بينهم + العنوان الفرعي

كيف يعرف القسم الفرعي يشير الى القسم الرئيسي المطلوب؟

ارجوا فيها توضيح لسؤالي؟

تم تعديل هذه المشاركة بواسطة vb_access2002 في 19 مايو 2007 في 18:28

#14

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

لنفترض أنك أضفت كل اللغات والأقسام الرئيسية في الجدول الأول، الآن تستطيع إضافة الأقسام الفرعية

في صفحة إضافة الأقسام الفرعية يجب أولا تحديد اللغة، بمعنى أن تضع خطوة أولى وهي أن اللذي يضيف العنوان الفرعي يجب أن يختار اللغة أولا.

وهذا مثال:

<form method='post' action='step2.php' >
<select name='language'>
<option>عربي</option>
...... وهكذا
</select>
</form>

في صفحة step2.php تضع الكود بهذا الشكل

if(isset($_POST['language'])) {
  $language = $_POST['language'];
  $select = "SELECT * FROM first WHERE language='$language' ORDER BY firstID";
بقية كود الكويري
}

حصلنا الآن على جميع مفاتيح الفهرسة الخاصة بلغة معينة

الآن تعمل نموذج إضافة القائمة الفرعية ويكون فيها الآتي

<form method='post' action='<?php print $_SERVER['PHP_SELF'] ?>' >
<select name='main_menu[]'>
<?php
while($result = mysql_fetch_array($query)) {
<option value=$result[firstID]>$result[cat]</option>
}
?>
</select>
<input type='text' name='sub_menu' />
</form>

الآن نأخذ النتائج ونضعها في قاعدة البيانات

$cat_id = $_POST['main_menu'][0]; طبعا نحن نأخذ القيمة صفر لأن النتائج ستكون على هيئة مصفوفة
$sub_menu = $_POST['sub_menu']; // هذه قيمة العنوان من مربع النص الخاص بإدخال القائمة الفرعية
$insert = "INSERT INTO second (firstID, subcat) VALUES ('$cat_id', '$sub_menu')";
بقية أوامر تنفيذ الإدخال

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

وهذا ينطبق تقريبا على العلاقة بين الثاني والثالث الاختلاف الوحيد هو أنك عندما تريد أن تضع معلومة في الجدول الثالث فستأخذ رقم الفهرسة من الجدول الأول بعد أن تربطه بالجدول الثاني بعد خطوة اختيار اللغة، بهذا الشكل:

$select = "SELECT * FROM first, second LEFT JOIN second ON first.firstID=second.firstID WHERE language='$language'";

بالتوفيق

sign3.jpg
#15

شكرا لك و انا تعبتك كثيرا

انا عندي بعض استفسارات و السؤال

الاول اذا عندنا جدولين و ليس ثلاثة جداول هل يسهل امرنا؟

لانه نحن القوائم الرئيسية ثابتة مثل اللغات , مثلا

نحند عندنا مثلا لغتين

يضيف بهذا الشكل

<select size="1" name="lang" style="font-family: Tahoma">
			<option value="1">arabic</option>
			<option value="2">Engish</option>

			</select>

و ايضا القوائم الرئيسية ثابتة و يضيف بهذا الشكل

<select size="1" name="cat" style="font-family: Tahoma">
			<option value="1">seince</option>

<option value="2">polatic</option>
<option value="3">sociality</option>

			</select>

هل هذا يسهل وضعنا؟

الشي الوحيد و متغير هو الاقسام الفرعية.

اذا عندنا جدولين

First Table

CREATE TABLE `first` (
  `firstID` int(12) NOT NULL auto_increment,
	`lang` varchar(255) NOT NULL default '',
	`cat` varchar(255) NOT NULL default '',
	`subject` varchar(255) NOT NULL default '',
  `detials` text NOT NULL,
  `imgurl` varchar(255) NOT NULL default '',
  PRIMARY KEY  (`firstID`)
) TYPE=MyISAM AUTO_INCREMENT=1;

و ايضا في جدول الثاني

CREATE TABLE `second` (
  `secondID` int(12) NOT NULL auto_increment,
  `firstID` int(12) NOT NULL default '0',
  `subcat` varchar(222) NOT NULL default '',
 `lang` varchar(222) NOT NULL default '',
  PRIMARY KEY  (`secondID`)
) TYPE=MyISAM AUTO_INCREMENT=1;

هذا يعني في جدول الاول عندنا الاشياء الثابتة و في جدول الثاني عندنا اضافة اقسام الفرعية

و حقل firstID مشترك بينهم

لا اعرف هل يسهل هذا؟؟ هل صيحيح هذا؟

هذا استفسارى و لكن سؤالي

ما معنى foreign key انا قراته في هذا الموقع اظن انه يمكن استعماله

l22e7.gif

و يشرح في هذا الموقع الذي ارسله انت لي بهذا الشكل

اقتباس
لاحظ ان العمود CustomerID في جدول CUSTOMERS هو مفتاح رئيسي ولا يمكن تكراره , ولكنه في جدول ORDERS على شكل ( FOREIGN KEY ) ويمكن تكراره , لان عدة طلبات يمكن عملها عن طريق مستخدم واحد , ولكن كل طلب مربوط بمستخدم واحد فقط.

هل يمكن استعمال هذا؟

مع حبي لكم

تم تعديل هذه المشاركة بواسطة vb_access2002 في 19 مايو 2007 في 21:22

#16

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

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

إذا كنت تريد أن تعمل جدولين فقط فاجعلها بهذا الشكل، طبعا وجهة نظري ولست ملزم بها لأنك أنت صاحب البرنامج وتعرف ماذا تريد.

CREATE TABLE `first` (
  `firstID` int(12) NOT NULL auto_increment,
	`lang` varchar(255) NOT NULL default '',
	`cat` varchar(255) NOT NULL default '',
	`subcat` varchar(222) NOT NULL default '',
  PRIMARY KEY  (`firstID`)
) TYPE=MyISAM AUTO_INCREMENT=1;

CREATE TABLE `second` (
  `secondID` int(12) NOT NULL auto_increment,
  `firstID` int(12) NOT NULL default '0',
  `subject` varchar(255) NOT NULL default '',
  `detials` text NOT NULL,
  `imgurl` varchar(255) NOT NULL default '',
   PRIMARY KEY  (`secondID`)
) TYPE=MyISAM AUTO_INCREMENT=1;

بالتوفيق

sign3.jpg
#17

شكرا لك اخي العزيز

اذا كان ادخالنا في جدول الاول بهذا الشكل؟

kurd1003Untitled55-1.png

اذا كان رقم 1 في اللغة هي العربية و 2 الانجليزية

و ايضا 1 في cat يشير الى قسم رئيسي العلمي و 2 السياسي و 3 الاجتماعي

و هناك متغيرات في حقل subcat

ما هی ربط بين الجدول الاول و الثاني؟؟

كيف يمكن ربط المواضيع في جدول الثاني مع الجدجول الاول؟ انا اعرف بواسطة حقل firstID و لكن لا اعرف كيف؟

مع حبي لكم

#18
$select = "SELECT * FROM first LEFT JOIN second ON first.firstID=second.firstID WHERE second.firstID = '$_GET[id]'";

طبعا في صفحة العرض سيكون عنوانها قريبا من : http://www.yourdomain.com/view.php?id=5

sign3.jpg
#19

شكرا اخي العزيز لتواصل معي

اخي الان انا ما عندي مشكلة في عرض الاقسام الفرعية و عندما يضغط عليه يظهر المواضيع في هذا القسم

لكن المشكلة في اضافة المواضيع في اقسام؟

انظر الى هذه الصورة

kurd100908.png

الرقم firstID لقسم فرعي يساوي 8 و هذا القسم من قسم رئيسي رقم 5 الذي يساوى قسم العلمي

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

و في جدول الثاني

يمكن اضافة العنوان و التفاصيل و صورة للاخبار لكن المشكلة كيف يمكن في حقل firstID احصل على نفس رقم firstID في جدول الاول؟ اذا احصل على هذا الرقم مثل في الصورة تحل مشكلتي.

انا اضافة رقم 8 يدوي لتجربة فقط.

هذا هو مشكلتي الان؟ ارجوا مساعدتي على هذا

#20

انا كتبت لك الطريقة في الرد رقم 14 في الأعلى، راجع الرد رقم 14 وفي حال وجدت صعوبة في فهمه أكتب لي ما يصعب عليك وسأقوم بتبسيطه لك

أتمنى لك التوفيق

sign3.jpg
#21

شكرا اخي

ماهي عمل '$cat_id' هل هو رقم صحيح؟

و ايضا ما فائدة لهذا الكود هل هي مجرد لادخال القيمة الاقسام الرئيسية في كومبو بوكس؟؟

<form method='post' action='<?php print $_SERVER['PHP_SELF'] ?>' >
<select name='main_menu[]'>
<?php
while($result = mysql_fetch_array($query)) {
<option value=$result[firstID]>$result[cat]</option>
}
?>
</select>
<input type='text' name='sub_menu' />
</form>

لماذا تعريف هذا من هنا؟

$cat_id = $_POST['main_menu'][0];

اماذا تعريف 'sub_menu' و ايضا في اخر الكود يساي ب subcat؟

ارجوا اجابتي و شكرا لك

#22

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

الكود الثاني ينفذ بعد أن تقوم بالضغط على زر التنفيذ فيأخذ من الكمبو بوكس رقم firstID وتقوم أنت بزرعه في قاعدة البيانات مع معلومات القائمة الفرعية. بهذا الشكل تقريبا:

$insert = "INSERT INTO second (firstID, subcat, lang) VALUES ('$cat_id', 'العنوان الفرعي', 'lang')";

بالتوفيق

sign3.jpg
#23

شكرا لك اخي العزيز

لقد حل هذا المشكلة لكــــن حاولت كثيرا لتحرير(UPDATE) الاخبار لكن لم انجح؟

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

#24

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

بالتوفيق

sign3.jpg
#25

شكرا لك اخي العزيز

اولا

انا عندي ملف باسم newsedit.php و ملف باسم edit.php

محتويات newsedit.php

اولا

<?
include"../reng.php";
$sql="select*from second WHERE secondID='$_GET[secondID]'";
$res=mysql_query($sql) or die(mysql_error());
while($row=mysql_fetch_array($res)){
 $secondID=$_GET['secondID'];

?>

وثانيا ادخال الحقول منها اختيار اللغة و الاقسام الرئيسية

<?
echo"

			<p dir='rtl'>

			<form method=POST action='edit.php?secondID=$row[secondID]' dir=ltr>

<table border=1 width=622  id=table1 align=center cellspacing=0 cellpadding=0 bordercolorlight=#CCCCFF bordercolordark=#CCCCFF style=\"border-collapse: collapse\">
<tr>
		<td width='500' align='right'>
		<p dir='ltr'>
		<select size=1 name=lang style=\"font-family: Tahoma\">
						<option value=2>عربی</option>
<option value=3>ئینگلیزی</option>
			</select>


		<td width=120 height=33  align=right>
		<p align=center>اللغة</td>
	</tr>
<tr>
		<p align='center'>
		<td width='500' height='33' align='right'>

<select size=\"1\" name=\"cat\" style=\"font-family: Tahoma\">
<option value=\"العلمي\">العلمي</option>
			<option value=\"السياسي\">السياسي</option>





			</select>


		<td width=\"120\" height=\"33\"  align=\"right\">
		<p align=\"center\">الاقسام الرئيسية</td>
	</tr>"; ?>

<?
echo"

	<tr>
		<td width='500' height=33 align='right'>
		<p dir='ltr'><input name='subject' style=\"font-family: tahoma\" dir=rtl value='$row[subject]' size='75'></td>

		<td width=120 height=33 align=right>
		<p dir=rtl align=center>عنوان الاخبار</td>
	</tr>


	<tr>
		<td width='500' height=33 align='right'>
		<p dir='ltr'><input name='imgurl' style=\"font-family: tahoma\" dir=rtl value='$row[imgurl]' size='75'></td>

		<td width=120 height=33 align=right>
		<p dir=rtl align=center>رسم‌</td>
	</tr>

و ايضا كود ادخال الاقسام الفرعي ل كومبو بوكس

<?
echo "<select name=subcat[]>
";
	include"../config.php";
   $query="SELECT subcat, firstID FROM first ";
	$result=mysql_query($query) or die;

	while ($row=mysql_fetch_assoc($result))
	{



		echo "
<option value=$row[firstID]>$row[subcat]</option>
		";


	} 
echo "</select>";

?>

هذه المحتويات هذا الملف

و محتويات الملف edit.php بهذا الشكل

<?

include "../config.php";
$secondID=$_GET['secondID'];
$cat_id = $_GET['subcat'][0];

if (!get_magic_quotes_gpc()) {
	array_map("addslashes",$_POST);

} 

$lang =addslashes($_GET['lang']);
$subject = addslashes($_GET['subject']);
$detials = addslashes($_GET['detials']);
$cat = addslashes($_GET['cat']);
$imgurl = addslashes($_GET['imgurl']);
 $firstID = addslashes($_GET['firstID']);

$sql="UPDATE second SET firstID='$_POST[cat_id], lang='$_POST[lang]',cat='$_POST[cat]',imgurl='$_POST[imgurl]',subject='$_POST[subject]', detials='$_POST[detials]'  WHERE secondID='$secondID'";

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

if($res){
echo"yes";
		echo "<meta http-equiv=\"Refresh\" content=\"0;url=index.php\">"; 
}
else{
echo"no";
}

?>

انا حاولت كثرا لكن لم انجح في تعديل

انا اريد في هذه الحالة تعديل الاخبار في جدول second

ارجوا فیها توضيح

مع حبي لكم

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

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

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

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

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

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