اخواني اني احتاج للمساعدة في هذا الموضوع
فانا ما اعرف كيف اعمل
foreign key
على phpmyadmin
شكلو ما في
foreign key
فيه
اخواني ارجو مساعدتي انا مش عارف اكمل عمل موقعي بسبب هاي المشكلة
لانو الجداول مش عارف كيف بدي اربطها ببعض
اخواني اني احتاج للمساعدة في هذا الموضوع
فانا ما اعرف كيف اعمل
foreign key
على phpmyadmin
شكلو ما في
foreign key
فيه
اخواني ارجو مساعدتي انا مش عارف اكمل عمل موقعي بسبب هاي المشكلة
لانو الجداول مش عارف كيف بدي اربطها ببعض
تم تعديل هذه المشاركة بواسطة فلسطيني جريء في 8 ديسمبر 2008 في 04:17
بســم الله الـرحمــن الرحيــم
لإستخدام Foreign Key :
لدينا الجدولين التاليين :::
CREATE TABLE `users`.`city` ( `city_id` INT( 3 ) NOT NULL ,
`city_name` VARCHAR( 30 ) NOT NULL ,
PRIMARY KEY ( `city_id` ) ) ENGINE = MYISAM;
CREATE TABLE `users`.`user` ( `user_id` INT( 5 ) NOT NULL ,
`city_id` INT( 3 ) NOT NULL ,
PRIMARY KEY ( `user_id` ) ) ENGINE = MYISAM;
2- تحويل الجداول لنوع InnoDB . كما في الصورة التالية ثم اضغط Go
وطبق نفس الطريقة للجدول الآخر user .
3- اضافة Index للحقل city_id وهذا الحقل سيكون Foreign Key للجدول city .
4-اضغط على Relation Veiw في نفس النافذة للجدول user .
5- لنفس احقل السابق سنحدد الحقل الذي سيربط معه في الجدول city , بنفس الطريقة كما في الصورة التالية :
ثم اضغط Save .
وهكذا ستكون قد ربطت الجدولين باستخدام الـ Foreign Key ....
ملحوظة ... لابد أن الجداول تكون من النوع InnoDB لأن MyISAM لاتدعم الـ Foreign Key . وهكذا فإن كل عملية Delete أو Update ستنفذ على جميع الجداول المربوطة مع بعضها .
I Say Nothing
مشكووووووووووووووووووووووووووووووور
ما شاء الله
و الله انا كان عندى سؤال بخاف اعرضه هنا
لان منتدى سيكول نايم جدااا
بس مشكور اخى
جزاك الله كل خير :)


السلام عليكم...
شرحك اكثر من رائع بس عندي مشكلة في ان الخيار InnoDB مش موجود كيف افعلة
عمار السليماني كتب:السلام عليكم...
شرحك اكثر من رائع بس عندي مشكلة في ان الخيار InnoDB مش موجود كيف افعلة
أخي عمار السليماني
كنت ابحث في نفس هذا الموضوع وفعلا كان الخيار غير مدرج في القائمة والحل كما بحثت عنه
هو انه يجب عليك حذف برنامج الاباتش واعادة تنزيله مجددا مع تفعيل الخيار innodb اثناء تنزيل البرنامج
وإليك الرابط التالي للشرح

الا بذكر الله تطمئن القلوب
السلام عليكم
عندي مشكلة و هي أن بعض الخاصيّات لا تظهر مثل خاصية ربط الجداول
Certaines fonctionnalités ayant trait aux tables reliées sont désactivées. Pour une analyse du problème
$cfg['Servers'][$i]['pmadb'] ... OK $cfg['Servers'][$i]['relation'] ... en erreur [ Documentation ] Fonctions relationnelles: désactivé $cfg['Servers'][$i]['table_info'] ... en erreur [ Documentation ] Affichage infobulle: désactivé $cfg['Servers'][$i]['table_coords'] ... en erreur [ Documentation ] $cfg['Servers'][$i]['pdf_pages'] ... en erreur [ Documentation ] Génération de schémas en PDF: désactivé $cfg['Servers'][$i]['column_info'] ... en erreur [ Documentation ] Commentaires de colonnes: désactivé Requêtes en signets: désactivé Transformation: désactivé $cfg['Servers'][$i]['history'] ... en erreur [ Documentation ] Historique SQL: désactivé $cfg['Servers'][$i]['designer_coords'] ... en erreur [ Documentation ] Concepteur: désactivé
أرجو المساعدة :blink:
و شكرا

السلام عليكم
شرح واضح :) تشكر عليه
فقط لدي سؤال :
آخر صورة التي توضح علاقة الـ user بـ city كيف أصل إليها ؟

السلام عليكم ورحمة الله
@"najla" : عليك تفعيل الـ desinger mode في phpmyadmin حتى تستطعي الدخول إلى هذه النافذة
يمكنك تفعيله كالتالي :
1- الدخول إلى ملف الاعداد الخاص بـ phpmyadmin هذا الملف موجود ضمن مجلد phpmyadmin باسم config.inc.php إن لم تجد ملف بهذا الاسم يجب انشاؤه أو يمكن نسخ الملف config.sample.inc.php و تعديل اسم النسخة إلى config.inc.php
2- بالدخول إلى الملف ستجدين القسم التالي من الاعدادات :
/* User for advanced features */ $cfg['Servers'][$i]['controluser'] = 'pma'; $cfg['Servers'][$i]['controlpass'] = 'pmapass'; /* Advanced phpMyAdmin features */ $cfg['Servers'][$i]['pmadb'] = ''; $cfg['Servers'][$i]['bookmarktable'] = ''; $cfg['Servers'][$i]['relation'] = ''; $cfg['Servers'][$i]['table_info'] = ''; $cfg['Servers'][$i]['table_coords'] = ''; $cfg['Servers'][$i]['pdf_pages'] = ''; $cfg['Servers'][$i]['column_info'] = ''; $cfg['Servers'][$i]['history'] = ''; $cfg['Servers'][$i]['designer_coords'] = '';
يتم استبدال هذا الجزأ بـ :
$cfg['Servers'][$i]['controluser'] = 'pma'; $cfg['Servers'][$i]['controlpass'] = 'pmapass'; /* Advanced phpMyAdmin features */ $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; $cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark'; $cfg['Servers'][$i]['relation'] = 'pma_relation'; $cfg['Servers'][$i]['table_info'] = 'pma_table_info'; $cfg['Servers'][$i]['table_coords'] = 'pma_table_coords'; $cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages'; $cfg['Servers'][$i]['column_info'] = 'pma_column_info'; $cfg['Servers'][$i]['history'] = 'pma_history'; $cfg['Servers'][$i]['tracking'] = 'pma_tracking'; $cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
3- يتم انشاء قاعدة بيانات جديدة باسم phpmyadmin
بعد انشاء قاعدة البيانات يتم استيراد محتوى الملف التالي إلى قاعدة البيانات هذه :
-- -------------------------------------------------------- -- SQL Commands to set up the pmadb as described in Documentation.html. -- -- This file is meant for use with MySQL 4.1.2 and above! -- For older MySQL releases, please use create_tables.sql -- -- If you are running one MySQL 4.1.0 or 4.1.1, please create the tables using -- create_tables.sql and upgrade their collation settings according to our -- manual. -- -- This script expects the user pma to already be existing. If we would put a -- line here to create him too many users might just use this script and end -- up with having the same password for the controluser. -- -- This user "pma" must be defined in config.inc.php (controluser/controlpass) -- -- Please don't forget to set up the tablenames in config.inc.php -- -- $Id: create_tables_mysql_4_1_2+.sql 6363 2004-10-13 10:09:52Z rabus $ -- -------------------------------------------------------- -- -- Database : `phpmyadmin` -- DROP DATABASE IF EXISTS `phpmyadmin`; CREATE DATABASE `phpmyadmin` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; USE phpmyadmin; -- -------------------------------------------------------- -- -- Privileges -- GRANT SELECT, INSERT, DELETE, UPDATE ON `phpmyadmin`.* TO 'pma'@localhost; -- -------------------------------------------------------- -- -- Table structure for table `pma_bookmark` -- CREATE TABLE `pma_bookmark` ( `id` int(11) NOT NULL auto_increment, `dbase` varchar(255) NOT NULL default '', `user` varchar(255) NOT NULL default '', `label` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL default '', `query` text NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM COMMENT='Bookmarks' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; -- -------------------------------------------------------- -- -- Table structure for table `pma_column_info` -- CREATE TABLE `pma_column_info` ( `id` unsigned NOT NULL auto_increment, `db_name` varchar(64) NOT NULL default '', `table_name` varchar(64) NOT NULL default '', `column_name` varchar(64) NOT NULL default '', `comment` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL default '', `mimetype` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL default '', `transformation` varchar(255) NOT NULL default '', `transformation_options` varchar(255) NOT NULL default '', PRIMARY KEY (`id`), UNIQUE KEY `db_name` (`db_name`,`table_name`,`column_name`) ) ENGINE=MyISAM COMMENT='Column information for phpMyAdmin' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; -- -------------------------------------------------------- -- -- Table structure for table `pma_history` -- CREATE TABLE `pma_history` ( `id` bigint(20) unsigned NOT NULL auto_increment, `username` varchar(64) NOT NULL default '', `db` varchar(64) NOT NULL default '', `table` varchar(64) NOT NULL default '', `timevalue` timestamp(14) NOT NULL, `sqlquery` text NOT NULL, PRIMARY KEY (`id`), KEY `username` (`username`,`db`,`table`,`timevalue`) ) ENGINE=MyISAM COMMENT='SQL history for phpMyAdmin' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; -- -------------------------------------------------------- -- -- Table structure for table `pma_pdf_pages` -- CREATE TABLE `pma_pdf_pages` ( `db_name` varchar(64) NOT NULL default '', `page_nr` int(10) unsigned NOT NULL auto_increment, `page_descr` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL default '', PRIMARY KEY (`page_nr`), KEY `db_name` (`db_name`) ) ENGINE=MyISAM COMMENT='PDF relation pages for phpMyAdmin' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; -- -------------------------------------------------------- -- -- Table structure for table `pma_relation` -- CREATE TABLE `pma_relation` ( `master_db` varchar(64) NOT NULL default '', `master_table` varchar(64) NOT NULL default '', `master_field` varchar(64) NOT NULL default '', `foreign_db` varchar(64) NOT NULL default '', `foreign_table` varchar(64) NOT NULL default '', `foreign_field` varchar(64) NOT NULL default '', PRIMARY KEY (`master_db`,`master_table`,`master_field`), KEY `foreign_field` (`foreign_db`,`foreign_table`) ) ENGINE=MyISAM COMMENT='Relation table' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; -- -------------------------------------------------------- -- -- Table structure for table `pma_table_coords` -- CREATE TABLE `pma_table_coords` ( `db_name` varchar(64) NOT NULL default '', `table_name` varchar(64) NOT NULL default '', `pdf_page_number` int(11) NOT NULL default '0', `x` float unsigned NOT NULL default '0', `y` float unsigned NOT NULL default '0', PRIMARY KEY (`db_name`,`table_name`,`pdf_page_number`) ) ENGINE=MyISAM COMMENT='Table coordinates for phpMyAdmin PDF output' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; -- -------------------------------------------------------- -- -- Table structure for table `pma_table_info` -- CREATE TABLE `pma_table_info` ( `db_name` varchar(64) NOT NULL default '', `table_name` varchar(64) NOT NULL default '', `display_field` varchar(64) NOT NULL default '', PRIMARY KEY (`db_name`,`table_name`) ) ENGINE=MyISAM COMMENT='Table information for phpMyAdmin' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
ملاحظة : هذا الملف لقواعد بيانات mysql بالاصدار 4.1.2 او أحدث وهذا الملف موجود ضمن المجلد scripts الموجود ضمن مجلد phpmyadmin باسم create_tables_mysql_4_1_2+.sql
للاصدارات الأقدم من mysql يوجد ملف في نفس المجلد scripts باسم create_tables.sql
بعدها عند اختيار أي قاعدة بيانات ضمن phpmyadmin سيظهر تبويب جديد ضمن القائمة العلوية اسمه designer
بتوفيق الله...
@Kayser_Soze : ضع لنا محتوى ملف اعدادات phpmyadmin الخاص بك (ملف config.inc.php).
تم تعديل هذه المشاركة بواسطة MoHaMMaD Pro في 16 مارس 2011 في 15:45
Everything will be fine when we TALK LESS, DO MORE
شكرا لك MoHaMMaD Pro
لكن يبدو لي أن الموضوع صعب قليلا D:
بارك الله فيك :)
مشكووووووووووووووووووووووووووووووور
بارك الله فيك :)