في لغات البرمجة مثل PHP، تقوم دالة fetch_assoc()
بجلب البيانات من نتيجة الاستعلام في شكل مصفوفة تتألف من أسماء الأعمدة كمفاتيح وقيم الصف كقيم. عند استخدام هذه الدالة، يتم استرداد الصف الأول من البيانات كمصفوفة تحتوي على قيمها.
أولاً، دعونا نفهم السطر الأول من الشيفرة:
php$resultsArray = $results->fetch_assoc();
print_r($resultsArray); //print_r 1
هنا، يتم استرداد أول صف من البيانات المحددة من قاعدة البيانات وتخزينه في مصفوفة باستخدام fetch_assoc()
، ومن ثم يتم طباعة هذه المصفوفة باستخدام print_r()
.
والآن، دعونا نلقي نظرة على السطر الثاني:
phpwhile($row = $results->fetch_assoc()){
print_r($row); //print_r 2
}
هنا، يتم استخدام حلقة while
للتكرار عبر جميع الصفوف المتبقية من نتيجة الاستعلام. في كل تكرار، يتم استرداد صف جديد من البيانات باستخدام fetch_assoc()
وتخزينه في المتغير $row
، ثم يتم طباعة قيم هذا الصف باستخدام print_r()
.
المفتاح هنا هو أنه في كل تكرار من الحلقة while
، fetch_assoc()
يسترد صف جديد من البيانات. عندما تصل النتيجة إلى نهايتها ولا توجد صفوف بقية لاستردادها، فإن fetch_assoc()
يعيد قيمة NULL
، مما يؤدي إلى انتهاء الحلقة while
.
لذا، الفرق بين الـ print_r
الأول والثاني يعود إلى أن الأول يسترد فقط الصف الأول، بينما الثاني يسترد باقي الصفوف باستخدام الحلقة while
حتى الوصول إلى نهاية النتيجة.
باختصار، fetch_assoc()
تقوم بجلب صف واحد من النتائج في كل مرة، والاستخدام الصحيح لها داخل حلقة while
يسمح بجلب جميع الصفوف من النتائج بشكل متتالي.
المزيد من المعلومات
بالإضافة إلى ما تم شرحه، يُسلط الضوء على بعض النقاط الأساسية لفهم عملية fetch_assoc()
بشكل أعمق:
-
استخدام الحلقة While: حلقة
while
هي هنا المفتاح لاستخدامfetch_assoc()
بشكل فعال. فهي تسمح بتكرار استدعاءfetch_assoc()
حتى الوصول إلى نهاية النتيجة. بمجرد أن يعيدfetch_assoc()
قيمةNULL
، تنتهي الحلقة ويتوقف استرداد البيانات. -
الفهرس المؤشري للبيانات: باستخدام
fetch_assoc()
، يتم استرداد الصفوف كمصفوفات مع فهرس مؤشري يشير إلى قيم كل عمود في الصف. هذا يسهل عملية الوصول إلى البيانات بواسطة أسماء الأعمدة بدلاً من الاعتماد على ترتيب العمود في النتيجة. -
الاستفادة من البيانات: بمجرد استرداد الصفوف بواسطة
fetch_assoc()
، يمكن استخدام البيانات بحرية في التطبيق. يمكنك تحليل البيانات، عرضها للمستخدمين، أو استخدامها في العمليات الأخرى داخل البرنامج. -
إدارة الذاكرة: يجب أن تكون حذرًا عند استخدام
fetch_assoc()
مع مجموعة كبيرة من البيانات. إذا كانت النتيجة تحتوي على عدد كبير من الصفوف، فقد تؤدي عملية استدعاءfetch_assoc()
المتكررة إلى استخدام كميات كبيرة من الذاكرة. يجب أن يتم إدارة الذاكرة بعناية لتجنب حدوث مشكلات الأداء أو الأخطاء.
باختصار، fetch_assoc()
هي وظيفة قوية في PHP تسمح بجلب البيانات من قاعدة البيانات بطريقة مرنة ومنظمة. باستخدامها بشكل صحيح، يمكنك تحسين أداء تطبيقاتك وجعل عمليات استرداد البيانات أكثر فعالية وسلاسة.