النتائج 1 إلى 4 من 4

الموضوع: دالة mysql_fetch_array ما عملها بالضبط ؟؟

  1. #1



    حاولت كثيرا معرفة ما هو عمل هذه الدالة بالـ PHP ، وجدت اجابات كثيرة ولكني لم افهمها تماما ( يعني لسه ما دخلت مخي ) ،، استخدام هذه الدالة كما رأيت لإستخراج قيم احد الجداول في قاعدة البيانات وطباعتها مثلا :

    [code]
    <?php
    mysql_connect ($host, $user, $password);
    $result = mysql_db_query ("database","select user_id, fullname from table");
    while ($row = mysql_fetch_array ($result)) {
    echo "user_id: ".$row["user_id"]."<br>\n";
    echo "user_id: ".$row[0]."<br>\n";
    echo "fullname: ".$row["fullname"]."<br>\n";
    echo "fullname: ".$row[1]."<br>\n";
    }

    ?>
    [code/]


    جميع الأمثلة التي رأيتها كانت تضع المتغير row$ في التكرار while ،، فهل يشترط هذا الإسم بالذات للمتغير ؟؟

    ياليت مبرمجي الـ PHP يقدرون يساعدوني







    البرواز غير متواجد حالياً


  2. #2
    عضو نشيط جدا
    تاريخ التسجيل
    Nov 2000
    المشاركات
    394


    وانا كذلك مبتدئ في mysql لكن

    يمكنك تغيير هذا الإسم كما تشاء

    وهو عبارة عن مصفوفة توضع النتائج فيه

    هذا والله اعلم

    شكرا





    __________________
    اللهم صلي على محمد وآل محمد
    المحبوب غير متواجد حالياً

  3. #3
    فضلاً اكتب اسمك الحقيقي هنا
    زائر


    اهلين وسهلين اخوي البرواز
    الدالة هذه هي لعرض معلومات من قاعدة البيانات
    وتكتب
    كود:
    $row["اسم الجدول ']
    لعرض محتويات جدول من الجداول
    ومثيلتها الدالة
    mysql_fetch_object
    وتكتب
    كود:
     
    echo $row->اسم الجدول
    لعرض محتويات جدول

    اتمنى اني اكون وفيت
    واذا تبي شرح دقيق ما عندي مانع اشرح زيادة






  4. #4
    عضو نشيط جدا
    تاريخ التسجيل
    Aug 2000
    المشاركات
    530


    * مجموعة السجلات Record Set

    هي عبارة عن عدة سجلات، وكما تعرف فإن كل سجل مكون من عدة حقول، فهي في الواقع عبارة عن جدول، وتمثل مجموعة السجلات في PHP بما يسمى بالـ Record Set Resource وهو ما تعيده الدالة mysql_query أو الدالة mysql_db_query ..

    يمكنك مشاهدة أمثلة على استعلامات وجداول السجلات التي تنتج منها في دورة SQL هنا:

    http://www.arabbuilder.com/learn/lessons/sql/

    لنفرض أنك قمت بعكل استعلام وحصلت على نتيجة الاستعلام ووضعتها في المتغيرة $result، وكانت نتيجة الاستعلام كالتالي:

    كود:
    name   telephone
    ----   ---------
    Tim     111
    Jim     222
    John    333
    في مجموعة السجلات الموضحة في الأعلى توجد ثلاثة سجلات، كل سجل يتكون من حقلين هما ( name ) و ( telephone ) ..

    بالإضافة إلى مجموعة السجلات، تحتوي المتغيرة $result أيضا على ما يسمى بالمؤشر pointer، وهو يشير إلى السجل الحالي ضمن مجموعة السجلات السابقة ..

    ويشير الـ pointer بدايةً إلى أول سجل في مجموعة السجلات ..

    بعد ذلك، وعند استدعاء الدالة mysql_fetch_array فإن الدالة تقوم بأمرين ..

    1) إعادة مصفوفة ( Array ) تتكون من اسم الحقل للسجل الحالي -> قيمة الحقل .. وذلك لجميع حقول السجل الحالي .. أي أننا عندما نستدعي الدالة mysql_fetch_array للمرة الأولى فإننا سنحصل على مصفوفة كالتالي:

    كود:
    array ( "name" => "Tim", "telephone" => "111" )
    2) نقل المؤشر ( pointer ) إلى السجل الذي يلي السجل الحالي، حتى إذا ما قمنا باستدعاء الدالة mysql_fetch_array للمرة الثانية فإننا سنحصل على السجل الذي يلي السجل السابق.

    يستمر الوضع هكذا، مع كل استدعاء نحصل على السجل الحالي، ثم ينتقل المؤشر إلى السجل الذي يليه، إلى أن نصل إلى نهاية مجموعة السجلات، عندها ستعيد الدالة القيمة false بدلا من مصفوفة الحقول، فهذه هي العلامة التي نعرف بها أننا وصلنا إلى آخر سجل ..

    الآن دعنا نلقي نظرة على كيفية الاستفادة من الدالة mysql_fetch_array في المرور على جميع السجلات التي حصلنا عليها:

    كود:
    while ($row = mysql_fetch_array($result)) {
        /* use $row here for the fields of the current record */
    }
    ما حدث في الشفرة السابقة هو أننا قمنا بعمل حلقة while، في كل دورة يتم جلب محتويات السجل الحالي ووضعها في المتغيرة $row كما هو في الشفرة التالية:

    كود:
    $row = mysql_fetch_array($result)
    بإلإضافة إلى ذلك فإن التعبير السابق يعيد القيمة التي وضعت في المتغيرة $row (للمزيد حول ذلك أنظر الدرس الذي كتبته حول المتغيرات والتعبيرات في لغة PHP)، فإذا وصلنا إلى نهاية الحقول ستوضع القيمة false داخل المتغيرة $row وعندها سيعيد التعبير القيمة false أي سيصبح التالي:

    كود:
    while (false) ..
    وبالتالي سيخرج البرنامج من الحلقة عند الانتهاء من جميع السجلات.

    يمكن استخدام أي اسم بدلا من المتغيرة $row .. فهي ليست أمرا اجباريا.

    للحصول على دروس PHP التي حدثتك عنها:

    http://www.arabbuilder.com/learn/lessons/php/index.php
    http://www.arabbuilder.com/learn/lessons/php/php01.php






    __________________
    http://www.ArabBuilder.com
    mubarmej غير متواجد حالياً





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض