عرض مشاركة واحدة
عضو فعال
تاريخ التسجيل: Aug 2005-
#20 (permalink)  

اقتباس:
المشاركة الأصلية كتبت بواسطة 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






__________________
أحمد أبو النصر
Junior php Developer
+20166196074
أحمد أبو النصر غير متواجد حالياً   قديم 19-07-2006, 01:47 PM
رد مع اقتباس