قبل أن نشرع في شرح هذه الخطوة الهامة لعلي أوضح شيئاً ..
هناك طريقتين تقريباً لحفظ بيانات برنامجك ..
إما الحفظ على ملفات نصية أياً كان نوع هذه الملفات ..
أو على قاعدة بيانات ..
و لكل طريقة ميزة لا توجد بالثانية ..
فبينما حفظ البيانات على ملفات نصية يساعد في إمكانية تركيب البرنامج بأي موقع يدعم php و ليست هناج حاجة لدعم قواعد بيانات ..
فحفظ البيانات على قاعدة بيانات يساعد في سرعة معالجة أوامر البرنامج و نوعاً ما يكون الإستعلام عن المادة بشكل أسرع و أفضل ..
لذا فأغلب برامج ال php تحفظ البيانات بها على قاعدة بيانات ..
لذلك فهناك أهمية كبرى لإنشاء ملف قاعدة البيانات حيث أنه كالعمود الفقري للبرنامج ..
و هذا الملف سوف يكون فيه مجموعة من أوامر ال sql ..
طبعاً هذه الأوامر ستكون مساعدة في إنشاء جداول قاعدة بيانات برنامجك ..
و يجب أن نعلم أن قاعدة البيانات تحتوي على جداول و حقول و صفوف ..
و أعتقد أن أغلبكم درس في مدرسته بعض المعلومات حول قواعد البيانات من نوع أكسس مثلاً ..
فالقاعدة تحتوي على جداول ..
و الجداول تحتوي على حقول ..
و الحقول تحتوي على صفوف ..
و تختلف سطور و محتويات هذا الملف بإختلاف برنامجك ..
و سأضع مثال بسيط على ملف قاعدة بيانات خاص ببرنامجنا المبسط و سأقوم بشرح محتوياته بعده إن شاءالله ..
لنفترض أن إسم ملف قاعدة البيانات إسمه database.sql ..
كود PHP:
CREATE TABLE `article` (
`ID` int(10) unsigned NOT NULL auto_increment,
`subject` varchar(255) NOT NULL,
`text` text NOT NULL,
PRIMARY KEY (`ID`),
KEY `ID` (`ID`)
) TYPE=MyISAM;
هذا الكود البسيط هو الذي سوف يقوم بإنشاء قاعدة البيانات ..
و كما تلاحظون بالسطر الأول فيه الأمر CREATE و هو يعني أمر الإنشاء .. إنشاء ماذا .. إنشاء جدول بقاعدة البيانات إسمه article كما يظهر فيما تلاه من أوامر ..
طبعاً هنا تأتينا معلومة مهمة ..
حيث نحن الآن وضعنا أمر .. و الأمر هذا بعمل شيء محدد و التحديد هو إسم الجدول ..
لذا وضعنا إسم الجدول داخل علامتي تنصيص مثل هذه ' ..
لذلك دائماً حين نكتب سطور برمجية نحدد الشيء بعلامتي تنصيص كالسابقة ..
طبعاً بعد ذلك فتحنا قوس و معنى الأقواس غالباً بلغة البرمجة هي جعل الأوامر داخله متعلقة بما سبق القوس من أمر ..
يعني لو لم يسبق القوس أمر حددها لن يتم تنفيذها ..
في السطر الثاني بدأنا وضع أوامر إنشاء الحقول ..
فنحن وضعنا أمر إنشاء الجدول و الآن أوامر إنشاء الحقول ..
طبعاً هذا السطر الثاني يحتوي على أمر إنشاء حقل للأرقام التسلسلية للمقالات ..
فنحن جدولنا لكي نخزن به مقالات ..
و المقالات هذه بحاجة لترقيم معين لكي نستطيع نفرق بينها و نميز هذا المقال عن غيره ..
لذا كما تلاحظون بداية حددنا إسم هذا الحقل بين علامتي تنصيص ..
ثم وضعنا أمراً نحدد فيه لقاعدة البيانات أن الحقلسوف يكون محتواه رقماً وليس نصاً بحروف و سيكون ذو عشر خانات ..
ثم وضعنا بنهاية السطر auto_increment و هي تعني أن هذا الحقل سنعمل له ترقيم تلقائي ..
بمعنى كل ما أضفنا مقال يتم عمل ترقيم جديد للمقال بدون إعطاء أمر بعمل ترقيم جديد ..
و الترقيم سوف يكون من 1 - إلى مالا نهاية ..
السطر الثالث كما ترون نطلب فيه إنشاء حقل نصي بإسم subject أي لموضوع المقال بحيث لا يزيد عن 255 حرف ..
و السطر الرابع طلبنا فيه إنشاء حقل نصي من نوع text لكي نضيف فيه نص المقال كاملاً ..
طبعاً لو تلاحظون هناك int و varchar و text و هي أنواع مختلفة للحقول فمثلاً إذا كان الحقل لا تحفظ فيه إلا أرقام تضع int و إذا كانت نصوص مثلاً varchar و إذا كانت نصوص طويلة text .. و آسف لأنه ما عندي خبرة كبيرة بخصائص ال sql فما أستطيع أشرح لكم بالظبط إيش معنى كل واحد منها
.. لكن أنت تضع في بالك هذا الأمر إذا كانت البيانات أرقام أو إذا كانت نصوص قصيرة أو إذا كانت نصوص طويلة فتستخدم كما هو موضوع ..
طبعاً في السطر الخامس و السادس نقوم بعمل تعريف أن حقل ID سيكون هو حقل تلقائي يضاف كل ما أضفنا شيئاً جديداً بقاعدة بيانات المقال ..
طبعاً السطر السابع أقفلنا القوس بمعنى أنهينا إنشاء الحقول ..
لكن وضعنا بعده أمراً و هو TYPE=MyISAM و هو إعطاء معلومة لقاعدة البيانات أن نوع الكتابة فيها سيكون بهذا الشكل ..
و صار لي موقف مع هذه الجزئية راجعوا موضوع قديم لي تحدثت فيه عنه هههههه ..
آسف لعدم التفصيل بشكل أفضل و أكثر من ناحية أوامر إنشاء الجدول هذا .. لكن مع الممارسة ستجدون ذلك سهلاً إن شاءالله ..
طبعاً الآن ودي من كل واحد منكم يعمل واجب منزلي ههههه homework ودي كل واحد يعمل تخطيط مبدئي لبرنامج مقالات مبسط يختلف عن ما كتبته بالدرسين ..
و يعمل له قاعدة بيانات ..
بحيث لا يكون كحقول قاعدة البيانات التي كتبتها ..
حاول تغي رو تضيف و تعدل و أضف ما عملت بتعقيب هنا بالموضوع ..
يالله منتظركم
..