أخي المجروح
التحديث اليومي يستخدم استعلامان فقط لكل الأعضاء ... وإن أردت الطريقة فهي كالتالي:
بعد إضافة حقل في جدول المستخدمين نسميه threads
كود PHP:
$users = $db->query_read("
SELECT thread.userid, COUNT(*) AS totalthreads
FROM " . TABLE_PREFIX . "thread AS thread
GROUP BY thread.userid
");
$userthread = array();
while ($user = $db->fetch_array($users))
{
$userthread["$user[totalthreads]"] .= ",$user[userid]";
}
if (!empty($userthread))
{
foreach ($userthread AS $threadcount => $ids)
{
$usercasesql .= " WHEN userid IN (0$ids) THEN $threadcount";
}
}
if ($usercasesql)
{
$db->query_write("
UPDATE " . TABLE_PREFIX . "user
SET threads =
CASE
$usercasesql
ELSE 0
END
");
}
else // there is no threads
{
$db->query_write("
UPDATE " . TABLE_PREFIX . "user
SET threads = 0
");
}
الآن نستخدم هذا الحقل لإظهار عدد المواضيع
طبعاً الاستعلام الأول يحتاج إلى تطوير لإضافة بعد الشروط كأن يكون الموضوع غير محذوف .. إلخ
بالنسبة للهوك newthread_post_complete اختلط علي مع الهوك newpost_complete وانت على حق
بالتوفيق