كيفية استخدام mysql_num_rows
السلام عليكم ورحمة الله وبركاته
استخدم الأمر mysql_num_rows لطباعة التعليقات من جدول بقاعدة البيانات ووضعت شرط لطباعة هذه التعليقات إذا ما كان عددها أكبر من صفر ولكن عند الطباعه يكون الناتج المطبوع هو كل التعليقات بالجدول - تعليث واحد ولا أدرى ما الذى يجعل هذا التعليق لا يظهر هذا هو الكود إن أحببتم رؤيته $showcomments = mysql_query("SELECT * FROM pages_comments ORDER BY pc_id DESC") or die ("<center><h3>MySQL Error</h3></center>"); $rowcomments = mysql_fetch_object($showcomments); // إذاكان عدد الصفوف المستعلم عنها أكبر من الصفر if (mysql_num_rows($showcomments) > 0){ echo " <h3>تعليقات الزوار</h3> <table width='100%' align='center' cellpadding='0' cellspacing='0'> "; // حلقة جلب صفوف البيانات من القاعده while($rowcomments = mysql_fetch_object($showcomments)){ echo " <tr> <td class='tb2'><span class='author'>كتبت بواسطة ".$rowcomments->pc_name."</span><span class='date'>بتاريخ ".$rowcomments->pc_date."</span></td> </tr> <tr> <td class='tb1'><p class='comment'>".$rowcomments->pc_text."<p></td> </tr> ";} echo" </table> ";} فما الخطأ عندى وما الذى يجعل الصفوف الموجوده بالجدول كلها تظهر ما عدا واحد منهم؟ وجزاكم الله خيرا
3 إجابات
mysql_fetch_array()تعطيك البينات بمصفوفة رقمية و باسم الحقل تستطيع الوصول للبينات عن طريق هذا الكود $ROW[0] او $ROW['ID'] mysql_fetch_assoc()ترجعلك مصفوفة باسم الحقل فقط مثلاً $row['id'] ولن تنفع اذا استعملتها هكذا $row[0] mysql_fetch_object() ترجعلك البينات على شكل كائن وليس مصفوفة يمكنك الوصول الى البينات بهذه الطريقة $row->title قرأت في احد المقالات ان mysql_fetch_assoc() تستخدم نصف الذاكرة التي تستخدمها mysql_fetch_array() بواسطة: Amer تعديل: MacOS 1 من 1 أشخاص وجدو هذه الاجابة مفيدة. هل وجدتها؟ نعم لا معلومات قيمة .. بارك الله فيك
السلام عليكم
عفوا انا فهمت منك انك في واحد من التعليقات لايظهر تقريبا لانه حضرتك كاتب هذه مرتين mysql_fetch_object($showcomments);المرة الاولى قبل while هذه بتقرا اول سطر وبعدين تعاود تقرا تاني فيطلع اقل الغي mysql_fetch_object($showcomments);قبل while واجعلها في while كما مكتوبة بواسطة: Arwa تعديل: MacOS 2 من 2 أشخاص وجدو هذه الاجابة مفيدة. هل وجدتها؟ نعم لا هذا صحيح جزاكم الله خيرا هذا هو السبب بالفعل .. تحياتى
جربها هاكذا
$query = mysql_query("SELECT * FROM pages_comments ORDER BY pc_id DESC") or die ("<center><h3>MySQL Error</h3></center>"); if (mysql_num_rows($query) > 0){ echo "<h3>تعليقات الزوار</h3><table width='100%' align='center' cellpadding='0' cellspacing='0'>"; // حلقة جلب صفوف البيانات من القاعده while($row = mysql_fetch_array($query, MYSQL_ASSOC)){ echo "<tr> <td class='tb2'><span class='author'>كتبت بواسطة ".$row['pc_name']."</span><span class='date'>بتاريخ ".$row['pc_date']."</span></td> </tr> <tr> <td class='tb1'><p class='comment'>".$row['pc_text']."<p></td> </tr>"; } echo"</table>"; } بواسطة: molhm تعديل: MacOS 1 من 1 أشخاص وجدو هذه الاجابة مفيدة. هل وجدتها؟ نعم لا النتيجه الاخ ملهم كان لديه خطأ فى الكتابة وتم تصليحه أهلا بك أخ MacOs عرفت أنى سألقى ردك جزاك الله خيرا لا تنسى أنى مبتدىء هههه فأنتم من شجعنى على بداية تعلم هذه اللغه الجميله وبصفتك دخلت موضوعى فدعنى أسأل |