قم بتنزيل التطبيق الآن وجربه مجانًا لمدة 10 أيام
العملة اختر اللغة اختر المنطقة

ربط PHP و MySQL في CMS bluetronix

في هذا البرنامج التعليمي، ستقوم بإنشاء جدول بيانات خاص بك وربطه بصفحة CMS. من خلال أمثلة عملية، ستتعلم أوامر SQL INSERT وREPLACE وSELECT وUPDATE، وستكتشف كيفية عرض قيم قاعدة البيانات عبر عناصر HTML على موقعك.

إنشاء صفحة مثال

لذا، في هذا الدليل، ستقوم أولاً بإنشاء صفحة مثال جديدة.

على سبيل المثال:

مثال PHP MySQL

يمكن أن تكون الصفحة فارغة تمامًا في البداية.

افتح الصفحة لاحقًا باستخدام محرر HTML العادي وأضف أي قسم صفحة. ستستخدم هذه المنطقة HTML لاحقًا كنموذج للبيانات التي سيتم تحميلها من قاعدة البيانات.

إنشاء جدول بيانات

قبل أن تتمكن من تخزين البيانات، تحتاج إلى جدول قاعدة بيانات خاص بك.

افتح:

قاعدة البيانات → جدول جديد

بالنسبة لهذا المثال، سنستخدم جدولًا يحتوي على الأعمدة ID، Date، Title، Description و Image.

ID تحتوي على معرف فريد للسجل. Date تخزن التاريخ والوقت. Title تحتوي على العنوان، Description تحتوي على نص وصف أطول و Image يحتوي على اسم الصورة.

يجب استخدام أسماء الجداول والأعمدة والمتغيرات باللغة الإنجليزية دائمًا في الدروس للمطورين.

فتح كود PHP

بعد إنشاء الجدول، ارجع إلى صفحة المثال الخاصة بك.

افتح هناك:

كود PHP

من هذه المنطقة، يمكنك الوصول مباشرة إلى قاعدة البيانات.

تخزين البيانات باستخدام INSERT أو REPLACE

في المثال الأول، ستقوم بتخزين سجل في جدول قاعدة البيانات الذي تم إنشاؤه مسبقًا.

لذلك، قم أولاً بتعيين المتغيرات PHP اللازمة.

مثال:

$ID = 1;
$Date = date("Y-m-d H:i:s");
$Title = "My Title";
$Description = "My Description";
$Image = "my-image.jpg";

يمكنك بعد ذلك تخزين هذه القيم باستخدام جملة MySQL Prepared Statement.

يجب عليك استخدام جمل Prepared Statements للوصول إلى قاعدة البيانات أساساً. بذلك، يتم معالجة القيم بشكل منفصل عن جملة SQL الفعلية.

مثال باستخدام REPLACE:

$stmt = $mysqli->prepare("REPLACE INTO ExampleTable (ID, `Date`, Title, Description, Image) VALUES (?, ?, ?, ?, ?)");
$stmt->bind_param("issss", $ID, $Date, $Title, $Description, $Image);
$stmt->execute();

قم بفتح الصفحة مرة أخرى.

ثم افتح:

قاعدة البيانات → عرض

يجب أن تكون السجل الجديد المرئي موجوداً هناك.

الفرق بين INSERT و REPLACE

INSERT يضيف سجلًا جديدًا.

إذا كان هناك بالفعل سجل بنفس المعرف الفريد أو المفتاح الأساسي، قد يسبب INSERT عطل في Duplicate-Key.

يمكن استخدام REPLACE إذا كنت ترغب في استبدال سجل موجود بنفس المعرف الفريد.

لهذا السبب، يكون REPLACE أكثر عملية عادةً مع أمثلة الاختبار ذات المعرف الثابت، لأنه يمكن استدعاء الصفحة عدة مرات.

قراءة البيانات باستخدام SELECT

في الخطوة التالية، تستخرج السجل المخزن من قاعدة البيانات.

مثال:

$stmt = $mysqli->prepare("SELECT `Date`, Title, Description, Image FROM ExampleTable WHERE ID = ?");
$stmt->bind_param("i", $ID);
$stmt->execute();
$result = $stmt->get_result();

if($row = $result->fetch_assoc()) {
$Date = $row["Date"];
$Title = $row["Title"];
$Description = $row["Description"];
$Image = $row["Image"];
}

القيم المستخرجة تكون موجودة لاحقًا في المتغيرات $Date، $Title، $Description و $Image.

ربط قاعدة البيانات بـ $LayoutHTML

المتغير العالمي في CMS $LayoutHTML يحتوي خلال عملية العرض على الـ HTML الحالي الذي تم إنتاجه للصفحة.

وبذلك يمكنك استبدال الحقول داخل كود HTML ببيانات من جدول MySQL.

تعيين عناصر نائب في كود HTML

افتح مرة أخرى كود HTML لصفحتك التجريبية.

يمكنك الآن استبدال محتويات القسم الذي تم إدخاله سابقًا بحقول خاصة بك.

على سبيل المثال:

__MyDate__
__MyTitle__
__MyDescription__
__MyImage__

مثال HTML مبسط:

<section>
   <div class="container">
      <img src="__MyImage__" alt="">
      <small>__MyDate__</small>
      <h2>__MyTitle__</h2>
      <p>__MyDescription__</p>
   </div>
</section>

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

إدخال قيم قاعدة البيانات في التخطيط

بعد تحميل البيانات باستخدام SELECT، تقوم باستبدال الحقول داخل $LayoutHTML.

مثال:

$LayoutHTML = str_replace("__MyDate__",$Date,$LayoutHTML);
$LayoutHTML = str_replace("__MyTitle__",$Title,$LayoutHTML);
$LayoutHTML = str_replace("__MyDescription__",$Description,$LayoutHTML);
$LayoutHTML = str_replace("__MyImage__",$Image,$LayoutHTML);

العملية بذلك هي:

قاعدة بيانات MySQL → SELECT → متغيرات PHP → str_replace() → $LayoutHTML → صفحة ويب كاملة

يتم عرض محتويات قاعدة البيانات مباشرة داخل تخطيط HTML الموجود.

اختبار التغييرات مباشرة عبر قاعدة البيانات

افتح:

قاعدة البيانات → عرض

قم بتحرير السجل الموجود بعد ذلك.

على سبيل المثال، يمكنك تغيير عنوان My Title إلى New My Title.

يمكنك أيضاً تغيير الصورة من خلال زر BX-Image-Button المناسب.

بعد حفظ البيانات وإعادة تحميل الصفحة، ستظهر البيانات المعدلة مباشرة في تخطيط الصفحة.

وبذلك، هناك اتصال مباشر بين:

قاعدة البيانات → PHP → $LayoutHTML → صفحة الويب

تغيير البيانات باستخدام UPDATE

يمكنك استخدام UPDATE لتغيير سجل موجود مباشرة عبر PHP.

يتم تحديد السجل المراد تغييره بواسطة شرط.

بعد تنفيذ تحديث البيانات، يمكنك تحميل البيانات مرة أخرى باستخدام SELECT وعرضها فيما بعد عبر $LayoutHTML على صفحتك.

ملخص

باستخدام PHP وMySQL، يمكنك حفظ البيانات وقراءتها وتغييرها داخل نظام إدارة المحتوى bluetronix.

INSERT أو REPLACE تحفظ البيانات، وSELECT تقوم بقراءة البيانات، وUPDATE تغير السجلات الموجودة.

من خلال $LayoutHTML يمكنك استخدام البيانات المحملة مباشرةً في هياكل HTML الموجودة.

وبذلك، يمكن الربط بين محتويات قاعدة البيانات وتخطيط HTML لصفحة إدارة المحتوى.

الأسئلة المتكررة

ما الذي يسأله العملاء غالباً

ماذا أحتاج لهذه الدورة التعليمية في PHP وMySQL؟

تحتاج إلى وصول مطور إلى نظام إدارة المحتوى bluetronix. يجب أن تعرف أيضاً كيفية عمل عملية عرض موقع النظام وما هي وظيفة المتغير $LayoutHTML.

أين يمكنني إنشاء جدول قاعدة بيانات جديد؟

افتح في نظام إدارة المحتوى قسم قاعدة البيانات → جدول جديد.

ما هي الأعمدة المستخدمة في المثال؟

في الدورة التعليمية، يتم استخدام الأعمدة ID، Date، Title، Description وImage.

لماذا يجب أن أستخدم العبارات المحضرة؟

العبارات المحضرة تفصل القيم الممررة عن أمر SQL الفعلي وهي مخصصة للوصول إلى قاعدة البيانات.

ما الفرق بين INSERT وREPLACE؟

تضيف INSERT سجلًا جديدًا. يمكن أن تقوم REPLACE باستبدال سجل موجود بنفس المعرف الفريد أو المفتاح الرئيسي.

كيف أقرأ البيانات من قاعدة البيانات؟

لذلك، تستخدم أمر SELECT. يمكنك بعد ذلك حفظ القيم المحملة في متغيرات PHP مثل $Title، $Description أو $Image.

كيف تصل بيانات MySQL إلى HTML للصفحة؟

أنت تقوم أولاً بإعداد مكانات خاصة في كود HTML ثم تستبدلها باستخدام str_replace() داخل $LayoutHTML بقيم قاعدة البيانات المحملة.

كيف أستطيع التحقق مما إذا كانت العلاقة بين قاعدة البيانات والموقع تعمل؟

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

لما يتم استخدام UPDATE؟

يمكنك باستخدام UPDATE تغيير سجل موجود بالفعل مباشرة عبر PHP.

هل يمكنني استخدام الصور المخزنة في قاعدة البيانات أيضًا في تخطيط الصفحة؟

نعم. في المثال يتم تخزين قيمة الصورة في المتغير $Image ويتم استخدامها من خلال مكان خاص مثل __MyImage__ في $LayoutHTML.

CMS