البرمجة

تعديل ترتيب شيفرة PHP لاستخراج بيانات MySQL

لقد وجدت الخطأ في الشيفرة الخاصة بك. لديك دورة while داخل تعريف المصفوفة، وهذا لا يجب أن يكون هكذا. يجب عليك تعيين المصفوفة بعد الحلقة while. هناك طريقتين لفعل ذلك، إما باستخدام دورة while لملء المصفوفة، أو باستخدام دالة mysqli_fetch_all() للحصول على جميع البيانات في مصفوفة متعددة الأبعاد مباشرة. هذا كود لاستخدام while لملء المصفوفة:

php
$info = array(); while($row = mysqli_fetch_array($retval, MYSQL_ASSOC)) { $info[] = array($row["id"],$row["name"],$row["mname"],$row["sdate"],$row["fdate"],$row["bphoto"],$row["sphoto"], $row["text"],$row["one"],$row["two"],$row["three"],$row["four"],$row["five"],$row["six"],$row["seven"], $row["eight"],$row["nine"],$row["imdb"],$row["sztrailer"],$row["etrailer"]); }

أو إذا كنت تريد استخدام mysqli_fetch_all()، يمكنك القيام بذلك بهذه الطريقة:

php
$result = mysqli_fetch_all($retval, MYSQL_ASSOC); $info = array(); foreach($result as $row) { $info[] = array($row["id"],$row["name"],$row["mname"],$row["sdate"],$row["fdate"],$row["bphoto"],$row["sphoto"], $row["text"],$row["one"],$row["two"],$row["three"],$row["four"],$row["five"],$row["six"],$row["seven"], $row["eight"],$row["nine"],$row["imdb"],$row["sztrailer"],$row["etrailer"]); }

اختر الطريقة التي تناسبك بناءً على متطلبات تطبيقك.

المزيد من المعلومات

بالتأكيد! في الشيفرة التي كتبتها، كان هناك خطأ في ترتيب الشيفرة. دورة while كانت مكتوبة بشكل غير صحيح داخل تعريف المصفوفة. بالإضافة إلى ذلك، في الجملة $info = array();، كان يتم إعادة تعيين قيمة المصفوفة $info في كل تكرار للحلقة، مما يمنع تجميع البيانات بشكل صحيح.

التعديلات التي قمت بها في الشيفرة الأصلية تضمن أن تكون قيم المصفوفة تضاف بشكل صحيح دون إعادة تعيينها، كما يجب أن تكون. وبالتالي، تسمح للحلقة while بالحصول على كل سجل من النتائج وإضافته إلى المصفوفة $info بشكل صحيح.

إذا كان لديك أي أسئلة أو استفسارات إضافية، فلا تتردد في طرحها.

زر الذهاب إلى الأعلى