صفحة 2 من 2 الأولىالأولى 12
النتائج 16 إلى 20 من 20

الموضوع: دالة extract لتعريف حقول قاعدة البيانات كمتغيرات

  1. #16


    بصراحة بحثت كثيراً في كود extract لم أجد خطأ من نوع الملاحظات فيه Notice ..

    عدت ونظرت إلى كود الاستخراج العادي :
    كود PHP:
    while ($row mysql_fetch_array($result)) { 
        
    $username=$row[username]; 
        
    $password=$row[password]; 
        
    $marks=$row[marks]; 
        
    $school=$row[school]; 
        
    $class=$row[class]; 

    وقد تفاجأت عندما شاهدته .. فقد شاهدت منظراً لم اعتدته سابقاً ، لكني وبعد أن اكتشفت هذا الخطأ منذ فترة أفلعت عن مثله .. لذلك أزعجني مظهره وناتجه .. هذه الأسماء ما بين القوسين .. مثل username وpassword تعتبر على أنها ثوابت .. ويتم البحث عن قيمة هذه الثوابت فلا يوجد لها قيمة ... لذلك يتولد خطأ ملاحظة Notice ... ولتفادي هذه المشكلة ، قم بوضع الأسماء داخل علامات تنصيص " و " مثل:
    كود PHP:
    while ($row mysql_fetch_array($result)) { 
        
    $username=$row["username"];
        
    $password=$row["password"];
        
    $marks=$row["marks"];
        
    $school=$row["school"];
        
    $class=$row["class"];

    أتمنى ان كان هناك أي خطأ آخر أن تقوم بتنبيهي عزيزي hilaby وبارك الله فيك ، دمت أستاذنا الكريم بخير ...

    وشكراً لك ....

    تحياتي ،، sBForum :1power:





    __________________
    أحمد أبو النصر
    Junior php Developer
    +20166196074



  2. الان لا يوجد مشاكل ,, فقط توجد بعض الملاحظات في تنظيم الذاكره لانك الان تضع القيم الموجوده في المتغير row$ و نسخها الى عده متغيرات "اي يوجد نسختين من نفس القيم" ... حاول ان لا تفعل ذالك ... دائماً فكر في ان السكربت قد يستخدم في موقع عدد زواره بالملايين ... يعني حاول بقدر الامكان ان لا ترهق الذاكره العشوائيه RAM

    وشكراً





    __________________
    هلابي افضل المواقع العربية تصميماً
    انصح باستخدام ابونتو

  3. #18


    ايوة وصلت الفكرة عزيزي hilaby ...

    هل تقصد بذلك أنه يجب علينا حذف $row كاملة ؟؟ أم أن هناك طرق أكثر مناسبة ؟؟ ربما استخدام المصفوفة $row مباشرة دون التخزين في المتغيرات يكون حلاً لهذه المشكلة .... أنتظرك عزيزي ...

    تحياتي، sBForum





    __________________
    أحمد أبو النصر
    Junior php Developer
    +20166196074



  4. نعم .. فقط استخدم المصفوفه row$ مباشر دون تخزين الا اذا كانت لديك خوارزميه تجبرك ان لا فعل ذالك
    و اصلا المصفوفه row$ سيحذف محتواها من ناتج الداله mysql_fetch_array عندما لا توجد اي سجل "record" جديد في الناتج و سيكون محتوى المصفوفه row$ هي NULL و لذالك يخرج من الداله while لان الدالة while تخرج من الloop عندما تكون الشرط 0 "صفر" او false او NULL

    وشكراً





    __________________
    هلابي افضل المواقع العربية تصميماً
    انصح باستخدام ابونتو

  5. #20


    اقتباس المشاركة الأصلية كتبت بواسطة hilaby
    نعم .. فقط استخدم المصفوفه row$ مباشر دون تخزين الا اذا كانت لديك خوارزميه تجبرك ان لا فعل ذالك
    و اصلا المصفوفه row$ سيحذف محتواها من ناتج الداله mysql_fetch_array عندما لا توجد اي سجل "record" جديد في الناتج و سيكون محتوى المصفوفه row$ هي NULL و لذالك يخرج من الداله while لان الدالة while تخرج من الloop عندما تكون الشرط 0 "صفر" او false او NULL

    وشكراً
    غلبناك معنا أستاذ hilaby ......

    بالنسبة لـ row هي نعم تحذف محتواها عند الخروج من حلقة while حيث أن هذه الحلقة يكون شرطها كما يلي:
    كود PHP:
    while ($row mysql_fetch_array($result)) {


    لكن ما قصدته عبر هذا الدرس خلال دالة extract هو أنه بإمكانك استخدام نفس البيانات خارج حلقة while ....... مثلاً تريد الحصول على معلومات موقع مثل sitename وsiteurl ... هؤلاء ستحتاجهم خلال البرنامج في العادة ... هل يجب عليك كتابة برنامجك كله داخل while .... هذا هو الخطأ ... لذا يمكن بكل سهولة استخدام دالة extract أو تعريف متغيرات أخرى ثابتة وعادية لتصبح قابلة للاستخدام خارج حلقة while ... كما ذكرت في الدرس ... هذا مغزى الدرس كلياً ...

    بالنسبة لمشاكل تنظيم الذاكرة أعتقد أنها لن تؤدي إلى أخذ حيز كبير من الذاكرة .. لكن سيتم التخلص فيما بعد من محتويات مصفوفة $row ......

    صحيح، ليس من الجيد أن نقول مصفوفة row لأنه اسم متغير نحن نضعه ... لكن هذا هو الشـــــائع في ذكرها وفي التعامل مع دالة mysql_fetch_array .....

    أشكرك بعمق أخي hilaby وأتمنى دائماً أن نناقش أمور البرمجة بنفس الطريقة لأننا افتقدنا روح النقاش في الآونة الأخيرة ....

    تحياتي لك ولجميع هيئة أعضاء وإدارة سوالف سوفت، sBForum :1power:





    __________________
    أحمد أبو النصر
    Junior php Developer
    +20166196074





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

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

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