البرمجة

عد السجلات اليومية في MySQL_PHP

للحصول على عدد السجلات التي تم إضافتها في نفس اليوم في جدول قاعدة البيانات، يجب استخدام دالة CURDATE() بدلاً من CURRENT_DATE()، كما أن استخدام && للدمج بين الشروط غير صحيح في MySQL. يجب استخدام AND بدلاً من ذلك. إليك الكود المصحح:

php
require_once('connection.php'); $id=$_SESSION['SESS_MEMBER_ID']; $query = mysql_query("SELECT COUNT(*) AS Unread3 FROM s_daily_reporting WHERE mem_id='$id' AND entry_time >= CURDATE()"); $data2 = mysql_fetch_array($query); echo $sum = 8 - $data2['Unread3']; ?>

تأكد من أنك قمت بتغيير كلمة المرور واسم المستخدم لقاعدة البيانات الخاصة بك بشكل صحيح عند نشر الكود على الخادم.

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

بالتأكيد! يبدو أنك تستخدم PHP مع MySQL لجلب عدد السجلات التي تم إضافتها في نفس اليوم في جدول s_daily_reporting، وتقوم بطباعة العدد الكلي للسجلات التي تم إضافتها اليوم وتقوم بعملية حسابية بها. يجب الانتباه إلى أن استخدام mysql_query و mysql_fetch_array تعتبر قديمة ومهجورة، ويفضل استخدام mysqli أو PDO بدلاً منها لأسباب أمان وأداء أفضل.

أيضًا، يمكنك تحسين الاستعلام الخاص بك ليكون أكثر دقة عن طريق استخدام COUNT مع DATE بدلاً من استخدام CURDATE() مباشرة، وذلك لضمان أن الاستعلام يعمل بشكل صحيح بغض النظر عن تنسيق التاريخ في قاعدة البيانات. قد يكون هذا مفيدًا إذا تغير تنسيق التاريخ فيما بعد.

إليك الكود المحسن:

php
require_once('connection.php'); $id = $_SESSION['SESS_MEMBER_ID']; $query = "SELECT COUNT(*) AS Unread3 FROM s_daily_reporting WHERE mem_id = '$id' AND DATE(entry_time) = CURDATE()"; $result = mysqli_query($connection, $query); $row = mysqli_fetch_assoc($result); $unreadCount = $row['Unread3']; echo $sum = 8 - $unreadCount; ?>

يرجى استبدال connection.php بمسار ملف الاتصال الصحيح الخاص بك.

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