تصميم موقع الويب الخاص بك مع PHP و MySQL


الدرس: PHPMYADMIN


الصفحة السابقة
نحن الآن بصدد إجراء المعالجات في قاعدة بيانات. سوف "ترى" ما يمكن أن تحتويه قواعد البيانات وجداولها.
هناك عدة طرق للوصول إلى قاعدة البيانات وإجراء تغييرات عليها. يمكننا استخدام سطر الأوامر (وحدة التحكم) ، وتنفيذ الاستعلامات في PHP أو الاتصال ببرنامج يتيح لنا الحصول على نظرة عامة بسرعة. هنا ، أدعوك لاكتشاف phpMyAdmin ، واحدة من أفضل الأدوات المعروفة للتعامل مع قاعدة بيانات MySQL .
يأتي phpMyAdmin مع WAMP ، حتى تتمكن من استخدامه على الفور. تسمح جميع مضيفات الويب تقريبًا باستخدام phpMyAdmin؛ اطلب منك معلومات حول كيفية الوصول إلى هناك.

إنشاء جدول


أول شيء أطلب منك القيام به هو فتح phpMyAdmin . للقيام بذلك ، ابدأ تشغيل WAMP ، وانقر بزر الماوس الأيسر على أيقونة شريط المهام وانتقل إلى "phpMyAdmin" . كنت هناك. 
phpMyAdmin ليس برنامجًا ولكنه مجموعة من صفحات PHP الجاهزة التي نستخدمها لتوفير الوقت.
لذلك دعونا نبدأ: في هذا الفصل ، لن نشفّر في الوقت الحالي ؛ نحن ذاهبون فقط للمعالجة.
تبدو صفحة phpMyAdmin الرئيسية بالشكل التالي.
web dynamique php
PhpMyAdmin الرئيسية
يمكنك ملاحظة مكانين مهمين ، يشار إليهما بالأرقام في لقطة الشاشة الخاصة بي.
  1. قائمة قواعد البيانات  : هذه هي قائمة قواعد البيانات الخاصة بك. الرقم بين قوسين هو عدد الجداول في قاعدة البيانات. في لقطة الشاشة الخاصة بي ، لدينا بالتالي قاعدتي بيانات: ، information_schema تحتوي على 28 جدولًا ، mysql وتحتوي على 23.
  2. إنشاء قاعدة بيانات  : لإنشاء قاعدة بيانات جديدة ، أدخل اسمًا في حقل النموذج على اليمين ، وانقر فوق "إنشاء" لقد تم.
في الوقت الراهن، يوجد 2 من قواعد البيانات وهما:  information_schema و mysql . لا تلمسها ، فهي تستخدم للتشغيل الداخلي في MySQL .
سنقوم الآن بإنشاء قاعدة جديدة test سنعمل فيها طوال الوقت بعد ذلك. استخدم النموذج الموجود على اليمين لإنشاء قاعدة البيانات هذه: أدخل الاسم test وانقر فوق الزر Create   .
يجب أن تظهر الشاشة في الشكل التالي إذا تم إنشاء قاعدة البيانات.
web dynamique php
تم إنشاء قاعدة الاختبار ، فارغة
أنت على علم بأنه لم يتم العثور على جدول في قاعدة البيانات. ماذا لو خلقنا واحدة؟
في حقل "Name" ، أدخل الاسم news وعدد الحقول 3، كما هو موضح في الشكل التالي.
web dynamique php
إنشاء جدول
انقر فوق ""Go
لم يتم إنشاء الجدول فورًا: يجب أن تشير الآن إلى اسماء الحقول والبيانات التي يمكن أن تحتويها. أقترح عليك أن تبقيه بسيطًا لأننا نحاول في الوقت الحالي اختبار phpMyAdmin . بالنسبة لهذا الجدول ، سنقوم بإنشاء الحقول الثلاثة التالية.
  • id  : في كثير من الأحيان ، سيكون عليك إنشاء حقل يسمى id . هذا هو رقم التعريف. بفضل ذلك ، سيتم ترقيم جميع مداخلك ، وهو أمر عملي للغاية. سيكون هناك أخبار رقم 1 ، رقم 2 ، رقم 3 ، إلخ.
  • titre  : سيحتوي هذا الحقل على عنوان الخبر.
  • contenu  : في النهاية ، سوف يحتوي هذا الحقل على الأخبار نفسها.
لنكن واضحين: أنا لا أعلمك كيفية إنشاء نظام أخبار لموقعك. سيكون لدينا الفرصة للعمل عليها في وقت لاحق قليلا. في الوقت الحالي ، نحن نتطلع فقط إلى معرفة كيفية عمل phpMyAdmin .
يجب أن يكون لديك الشكل التالي أمامك.
web dynamique php
إنشاء جدول MySQL
يمثل كل عمود حقل. طلبنا ثلاثة حقول ، لذلك هناك ثلاثة أعمدة.
يسألك phpMyAdmin الكثير من المعلومات ولكن كن مطمئنًا ، ليس من الضروري ملء كل شيء. في معظم الأوقات ، ستكون الأقسام الأكثر إثارة للاهتمام هي:
  • الحقل Name   : يتيح لك تحديد اسم الحقل (مهم للغاية!) ؛
  • النوع  :Type نوع البيانات التي سيخزنها الحقل (عدد صحيح ، نص ، تاريخ ، إلخ) ؛
  • الحجم / القيم  :Length/Value يسمح بالإشارة إلى الحد الأقصى لحجم الحقل ، وهو مفيد للنوع VARCHAR على  وجه الخصوص ، من أجل الحد من عدد الأحرف المسموح بها ؛
  • الفهرس  : indexينشط فهرسة عنصر التحكم. هذه الكلمة الهمجية تعني على نطاق واسع أن مجالك سيكون مناسبًا للبحث. في أغلب الأحيان ، نستخدم الفهرس PRIMARY في حقول الكتابة id ؛
  • (A_I) AUTO_INCREMENT   : يسمح للحقل بزيادة نفسه مع كل إدخال جديد. يستخدم بشكل متكرر في حقول الكتابة id .
أقترح عليك ملء النموذج كما فعلت. يجب التأكد من مراجعة AUTO_INCREMENT وتحديد مؤشر  PRIMARYعلى id .
بمجرد الانتهاء ، انقر فوق الزر الموجود Save في أسفل الصفحة. يتم إنشاء الجدول الخاص بك!
قبل أن أذهب إلى أبعد من ذلك ، أود العودة بمزيد من التفصيل إلى حد ما بشأن أنواع الحقول والفهارس ، وخاصة الفهرس PRIMARY الذي استخدمناه.
أنواع الحقول MySQL
إذا قمت بالتمرير لأسفل قائمة الأنواع التي يقدمها لك MySQL ، فيجب أن تتراجع إلى الوراء ، كما هو موضح في الشكل التالي.
web dynamique php
أنواع بيانات الخلية
بينما PHP ليس لديه الا عدد قليل من أنواع البيانات التي نعرفها جيدا الآن (  int ، string، bool ... )، MySQL يوفرعددا كبيرا جدا من أنواع البيانات.
في الواقع ، يتم تصنيف هذه.
  • NUMERIC  : هذه هي الأرقام. هناك أنواع مخصصة للأعداد الصحيحة الصغيرة ( TINYINT) ، الأعداد الصحيحة الكبيرة ( BIGINT) ، الكسور العشرية ، إلخ.
  • DATE and TIME  : هذه هي التواريخ والأوقات. تتيح لك العديد من الأنواع المختلفة تخزين تاريخ أو وقت أو كليهما.
  • STRING  : هذه هي النصوص. مرة أخرى ، هناك أنواع مناسبة لجميع الأحجام.
  • SPATIAL  : هذا يتعلق بقواعد البيانات المكانية ، ومفيدة لأولئك الذين يفعلون رسم الخرائط. لن تكون هذه هي حالتنا ، لذلك لن نتحدث عنها هنا.
في الواقع ، كان لدى phpMyAdmin فكرة جيدة أن تقترح في بداية هذه القائمة الأنواع الأربعة الأكثر شيوعًا من البيانات:
  • INT  : عدد صحيح ؛
  • VARCHAR  : نص قصير (بين 1 و 255 حرفًا) ؛
  • TEXT  : نص طويل (يمكن للمرء تخزين رواية هناك دون مشكلة) ؛
  • DATE  : التاريخ (اليوم ، الشهر ، السنة).
سنحتاج فقط إلى التوفيق بين هذه الأنواع الأربعة ، لذلك هذه هي الأشياء التي يجب تذكرها. سيغطي هذا 99 ٪ من احتياجاتنا.
ملاحظة بسيطة حول VARCHAR  : إنه نوع مناسب للنصوص القصيرة ، مثل عنوان عنصر الأخبار على موقعك. الشرط الوحيد هو أنه يجب الإشارة إلى الحد الأقصى لحجم الحقل (بين 1 و 255). إذا لم تقم بذلك ، فلن تتمكن من إنشاء الجدول. إذا كنت لا تعرف مقدار تحديد مجالك ، فيمكنك تعيين الحد الأقصى للقيمة (255) كما فعلت في المثال السابق.
المفاتيح الأساسية primary key
يجب أن يحتوي كل جدول على حقل يلعب دور المفتاح الأساسي . يحدد المفتاح الأساسي بشكل فريد إدخالًا في الجدول. بشكل عام ، نستخدم حقل المعرف كمفتاح أساسي ، كما فعلنا للتو.
يجب تحديد هوية كل عنصر أخبار على موقعك بشكل فريد. أسهل طريقة للقيام بذلك هي منحها رقمًا فريدًا في حقل يسمى "id" . لا يمكن أن يكون هناك عنصرين أخبار يحملان نفس المعرف! ينطبق الأمر نفسه على الجداول الأخرى على موقعك: على سبيل المثال ، يجب تعيين رقم فريد لكل عضو. إذا كان لدى عضوين نفس العدد ، فلن نتمكن من التمييز بينهما!
من المهم أن يكون لكل جدول مفتاحه الأساسي. لن يتم منعك من إنشاء الجداول دون وجود مفتاح أساسي ، ولكن سيتم تخفيض أدائها بشكل كبير. لذا فإنني أنصحك أن تأخذ رد الفعل لإنشاء الحقل "id" هذا في كل مرة من خلال إعطائها الفهرس PRIMARY، والذي سيكون له تأثير في جعله مفتاحًا أساسيًا. ستستفيد عمومًا من هذا الخيار لتحديد المربع AUTO_INCREMENTحتى يتمكن هذا الحقل تلقائيًا من إدارة القيم الجديدة (1 ، 2 ، 3 ، 4 ، إلخ).

تحرير جدول


على يمين الشاشة ، يصبح جدول "News" الذي قمت بإنشائه للتو مرئيًا ، كما تراه في الشكل التالي.
web dynamique php
قائمة الجداول
  • إذا قمت بالنقر فوق كلمة "news" ، فسيتم عرض محتوى الجدول على يمين الشاشة.
  • إذا قمت بالنقر فوق صورة الجدول الصغيرة على اليسار ، فسيقدم phpMyAdmin هيكل الجدول.
حاليًا ، نظرًا لأن جدولنا فارغ (لا يحتوي على أي إدخال) ، فسيتم عرض هيكل الجدول (الشكل التالي) في كلتا الحالتين.
web dynamique php
هيكل جدول الأخبار
يذكرك هذا الجدول بالمجالات التي يتكون منها جدولك: هذا هو بنيته. لاحظ أن الحقل id بجانبه صورة مفتاح لأنه المفتاح الأساسي للجدول.
لا يوجد شيء مثير للاهتمام للقيام به هنا ، لكن كن على دراية بأنه من الممكن إضافة أو حذف الحقول في أي وقت. ليس لأنه تم إنشاء الجدول الخاص بك أن يتم تجميده. لديك خيارات لإعادة تسمية الحقول وحذفها وإضافة حقول جديدة ، إلخ.
ألقِ نظرة على علامات التبويب في الأعلى: "Structure" ، ""Browse ، "SQL" ، إلخ. سينقلك هذا إلى الخيارات المختلفة التي سنراها لاحقًا. سنبدأ من خلال النظر في علامة التبويب "Insert")إدراج (، والتي سوف تسمح لنا بإضافة إدخالات إلى الجدول.
يتم فتح صفحة يمكنك من خلالها إدخال قيم لكل حقل. ستكون هذه فرصة لنا لإدراج أخبارنا الأولى ، كما يشير الشكل التالي.
web dynamique php
إدراج سجل جديد
نحن مهتمون فقط بعمود "Value . "يمكنك إدخال قيمة لكل حقل من الحقول الثلاثة. ستلاحظ أنني لم أقم بتعيين قيمة للمعرف id : هذا أمر طبيعي ، لأنه يتم حساب رقم المعرف تلقائيًا باستخدام الخيار auto_increment . لا تقلق بشأن ذلك واختر العنوان بدلاً من ذلك وأدخل المحتوى. سيكون معرف الخبر الأول هو 1 ، وسيكون معرف الثاني هو 2 ، إلخ.
لا يتعين على المعرفات أن تتبع بعضها البعض من 1 إلى 1. إذا لم يكن هناك أخبار رقم 15 على سبيل المثال ، فهذه ليست مشكلة. ما يهم هو أنه لا يوجد عنصران في الأخبار لهما نفس المعرف. هذا هو بالتحديد ما يجعل من الممكن تجنب المفتاح الأساسي: فهو يحظر أن يكون هناك إدخالان لهما نفس المعرف.
بمجرد إدراج النص الذي تريده ، انقر فوق الزر "Go" الأول في الصفحة.
هناك حقول أخرى أدناه: تجاهلها. إنها تسمح لك بإضافة إدخالات متعددة مرة واحدة ، لكننا لسنا بحاجة إليها.
كرر مرة أو مرتين عن طريق القيام بنفس المعالجات وترك حقل المعرف فارغًا.
الآن عرض محتويات الجدول. يمكنك النقر فوق علامة التبويب "عرض" ، في الأعلى ، أو على اسم الجدول في القائمة على اليسار. يوضح الشكل التالي المحتوى الذي يجب أن تراه.
web dynamique php
محتوى جدول الأخبار
ستجد هنا الحقول "id" و "titre" و "contenu". يحتوي هذا الجدول على ثلاثة إدخالات ، وكما ترى ، فإن MySQL قد قام بذلك بشكل صحيح منذ أن تم إنشاء أرقام المعرفات من تلقاء نفسها.
يمكنك تحرير أو حذف كل عنصر من العناصر التي تراها على الشاشة. هناك العديد من الخيارات الأخرى أدناه التي سأسمح لك بالنظر إليها. في الوقت الحالي ، ما يهم هو أنك تفهم الإجراء الخاص بإضافة عناصر إلى الجدول وأنك قادر على سرد محتوياته.
لكن ... لن أضطر إلى المرور عبر phpMyAdmin في كل مرة أرغب في إضافة عنصر أو حذفه ، على أي حال؟ سوف تضطر إلى المرور عبر هذا لإضافة كل الأخبار من موقعك ، وكذلك كل عضو ، كل رسالة من المنتديات؟
لا ، بالطبع لا. كما يوحي الاسم ، phpMyAdmin هو أداة الإدارة. انها تسمح لك أن ترى بسرعة هيكل ومحتويات الجداول الخاصة بك. من الممكن أيضًا إضافة عناصر أو إزالتها ، كما رأينا للتو ، لكننا لن نقوم بهذا إلا نادرًا جدًا. سوف نتعلم كيفية إنشاء صفحات في PHP تدرج أو تحذف عناصر مباشرة من موقعنا.
لا يزال يتعين علينا اكتشاف بعض الميزات التي يقدمها phpMyAdmin وسننتهي بنظرة عامة على هذه الأداة.

عمليات أخرى


لقد اكتشفنا حتى الآن دور ثلاث علامات تبويب:
  • عرض Browse  : يعرض محتويات الجدول ؛
  • الهيكل  :Structure يعرض هيكل الجدول (قائمة الحقول) ؛
  • إدراج  :Insert يسمح لك بإدخال إدخالات جديدة في الجدول.
أود أن أبين لك ست علامات تبويب أخرى:
  • SQL   .
  • Export  .
  • Import  .
  • Operations  .
  • إفراغ  .
  • حذف .
SQL
انقر فوق علامة التبويب "SQL" ، الموضحة في الشكل التالي.
web dynamique php
علامة التبويب SQL
يظهر الشكل التالي على الشاشة.
web dynamique php
كتابة استعلام SQL
هذا هو المكان الذي يمكنك فيه تشغيل ما يسمى استعلامات SQL لطلب MySQL للقيام بشيء ما.
في مربع النص الكبير يمكنك كتابة هذه الاستعلامات. على سبيل المثال نحن نقدم هنا:

SELECT * FROM `news` WHERE 1
هذا يعني: "  عرض جميع محتويات جدول  " News "  . هذه هي لغة SQL بالضبط التي سنكتشفها خلال الفصول التالية.
استيراد Import
هناك أيضًا علامة التبويب "استيراد" (الشكل التالي).
web dynamique php
استيراد علامة التبويب
في الصفحة التي تظهر ، يمكنك إرسال ملف من استعلامات SQL ( عادةً ما يكون ملفًا sql ) إلى MySQL لتنفيذها (الشكل التالي) .
web dynamique php
استيراد جدول
يجب أن يثير اهتمامنا فقط الحقل الأول في الأعلى: فهو يسمح لنا بالإشارة إلى ملف موجود على القرص الثابت لدينا يحتوي على استعلامات SQL لتنفيذه.
ثم انقر فوق الزر "تنفيذ" في الأسفل دون الحاجة إلى القلق بشأن الحقول الأخرى.
ما الفرق بين كتابة طلب SQL (كما رأينا للتو من قبل) وإرسال ملف يحتوي على طلبات SQL؟
إنه نفس الشيء ، إلا أنه في بعض الأحيان عندما تضطر إلى إرسال عدد كبير جدًا من الطلبات ، يكون استخدام الملف أكثر عملية. علاوة على ذلك ، في الفصول التالية ، سوف أعطيك ملفًا للاستعلامات لتنفيذه ، وعليك استخدام هذه الطريقة.
تصدير Export
نحن مهتمون الآن بعلامة التبويب Export"" . هذا هو المكان الذي ستتمكن فيه من استعادة قاعدة البيانات الخاصة بك من القرص الصلب كملف نصي .sql (والذي سيحتوي على الكثير من استعلامات SQL ) .
هذا الملف الذي سنقوم بتصديره ، هل هو نفس الملف الذي كنت تخبرنا عنه سابقًا؟ واحد يقع في C:\wamp\mysql\data ؟
لا ، ليس على الإطلاق. ما أظهرته لك سابقًا كان شيئًا غير مقروء. قلت لك أننا لن نلمسها ، لم أكذب عليك.
الملف الذي ستحصل عليه بفضل "تصدير" phpMyAdmin هو ملف يخبر MySQL كيفية إعادة إنشاء قاعدة البيانات الخاصة بك  (مع استعلامات بلغة SQL ) .
فيما يصلح هذا الملف ؟
يمكن استخدامه لأمرين:
  • نقل قاعدة البيانات الخاصة بك على الإنترنت  : في الوقت الحالي ، قاعدة البيانات الخاصة بك على القرص الصلب الخاص بك. ولكن عندما تريد استضافة موقعك على الإنترنت ، يجب عليك استخدام قاعدة بيانات مضيفك على الإنترنت! .sqlسيسمح لك الملف الذي ستنشئه بإعادة إنشاء قاعدة البيانات باستخدام أداة استيراد phpMyAdmin (بشكل عام ، تقدم المضيفات أيضًا phpMyAdmin بحيث يمكنك إجراء عمليات بسهولة على قاعدة البيانات الخاصة بك عبر الإنترنت) ؛
  • قم بعمل نسخة احتياطية من قاعدة البيانات  : أنت لا تعرف أبدًا ، أو إذا فعلت شيئًا غبيًا أو إذا تمكن شخص ما من تدمير جميع المعلومات الموجودة على موقعك (بما في ذلك قاعدة البيانات) ، فستكون سعيدًا جدًا نسخة احتياطية على القرص الصلب الخاص بك!
يجب أن تبدو شاشتك بالشكل التالي.
web dynamique php
تصدير الجدول
أنصحك أن تترك الخيارات الافتراضية ، إنها أكثر من كافية.
فقط قم بتمييز بنية البيانات من الجدول. يمكن تلخيص بنية الجدول في بضعة أسطر: هذه هي في الواقع أسماء الحقول وأنواعها وما إلى ذلك. من ناحية أخرى ، البيانات تتوافق مع الإدخالات ، ويمكن أن يكون هناك الكثير !  لعمل نسخة احتياطية كاملة ، يجب أن تأخذ الهيكل والبيانات.
تذكر التحقق من مربع "الإرسال" في الأسفل ، وإلا لن يحدث شيء. لاحظ أنه يمكنك طلب الضغط ، وهو أمر مفيد إذا كان الجدول كبيرًا جدًا.
انقر فوق "تنفيذ". سوف يُعرض عليك بعد ذلك تنزيل ملف: هذا أمر طبيعي تمامًا. لا تتردد في النظر إلى ما هو موجود في هذا الملف: سترى أنه يحتوي على العديد من استعلامات SQL . هذه هي اللغة التي سأعلمك بها في الفصول التالية!
كيف يمكنني إعادة إنشاء قاعدة البيانات على موقع الويب الخاص بي؟
عليك أن تذهب إلى phpMyAdmin من المضيف الخاص بك. اطلب العنوان على سبيل المثال ، في Free ( إنه مجاني )  http://phpmyadmin.free.fr/phpMyAdmin ( يجب عليك الإشارة إلى تسجيل الدخول وكلمة المرور) .
مرة واحدة عليه ، انتقل إلى علامة التبويب "استيراد" التي رأيناها في وقت سابق. انقر فوق "استعراض" للإشارة إلى مكان ملف SQL الذي أنشأته للتو على محرك الأقراص الثابتة. قم ب "التنفيذ" ، انتظر حتى يتم إرسالها ، وهي جيدة! ثم يتم إعادة إنشاء قاعدة البيانات الخاصة بك على شبكة الإنترنت!
العمليات operations
هنا يمكنك إجراء عمليات مختلفة على طاولتك.
لن أدرجها واحدة تلو الأخرى ، ولن أشرح لك كيف تعمل لأنها بسيطة للغاية. فقط كن على علم أنك قد تحتاج:
  • تغيير اسم الجدول  : أدخل الاسم الجديد لهذا الجدول ؛
  • انقل الجدول إلى  : إذا كنت تريد وضع هذا الجدول في قاعدة بيانات أخرى ؛
  • انسخ الجدول  : قم بعمل نسخة من الجدول أو في قاعدة أخرى أو في نفس المكان (انتباه: في هذه الحالة ، سيكون لها اسم مختلف) ؛
  • قم بتحسين الجدول  : من خلال استخدام جدول ، خاصة إذا كان حجمه كبيرًا ، ينتهي بك الأمر إلى "خسائر" تجعل الجدول لم يعد منظمًا جيدًا. نقرة واحدة عليها والمعزوفة! انها استقر مرة أخرى.
إفراغ
أفرغ كل محتويات الجدول. ستختفي جميع الإدخالات ، وسيظل هيكل الجدول فقط (أي ، الحقول).
تحذير ! لا يمكن إلغاء هذه العملية!
إزالة
لحذف الجدول بأكمله (الهيكل والبيانات) ، انقر فوق علامة التبويب هذه.
مرة أخرى ، فكر ملياً قبل حذف كل شيء ، حيث لن تتمكن من استرداد أي شيء لاحقًا ، إلا إذا قمت بعمل نسخة احتياطية مسبقًا باستخدام أداة التصدير.

في الخلاصة


  • phpMyAdmin هي أداة تسمح لنا بتصور حالة قاعدة البيانات الخاصة بنا بسرعة وكذلك تعديلها ، دون الحاجة إلى كتابة استعلامات SQL .
  • نقوم عمومًا بإنشاء حقل مسمى id يتم استخدامه لترقيم الإدخالات في جدول. يجب أن يحتوي هذا الحقل على فهرس أولي (نقول أننا نقوم بإنشاء مفتاح أساسي) وخيار AUTO_INCREMENT الذي يسمح لـ MySQL بإدارة الترقيم.
  • MySQL تدير أنواع مختلفة من البيانات لحقولها ، مثل PHP . هناك أنواع مناسبة لتخزين الأرقام والنصوص والتواريخ وما إلى ذلك.
  • لدى phpMyAdmin أداة استيراد وتصدير للجداول والتي تسمح لنا بإرسال قاعدة البيانات الخاصة بنا إلى الإنترنت عندما نضع موقعنا على الإنترنت.