x
Üye
- Katılım
- 30 Ara 2022
- Mesajlar
- 341
- Tepkime puanı
- 31
- Puanları
- 28
İtibar:
XenForo'da bütün kullanıcıların mesaj sayılarını gerçekçi bir şekilde yeniden hesaplayıp güncelleyecek bir sorgu paylaşacağım;
Bu sorgu ile artık bütün kullanıcıların mesaj sayıları olduğu gibi güncellenecektir. Admincp'den yükseltilen mesajlar, silinen mesajlar gibi bütün herşeyi hesaplayacaktır. Forum sitenizdeki yöneticiler bu sorgu ile artık mesaj sayılarını istediği gibi yükseltip düşüremeyecektir.
Eğer sizde bütün kullanıcılarınızın mesaj sayıları gerçeği gibi olsun istiyorsanız aşağıdaki sorguyu phpmyadmin'e giriş yaparak çalıştırınız;
Eğer bazı forumları bunun dışında tutmak istiyorsanız aşağıdaki sorguyu forum id numarasını yazarak çalıştırınız. Örneğin forum oyunlarındaki mesajları eğer kullanıcı mesaj sayısına eklettirmiyorsanız o forumun id numarasını yazabilirsiniz. ( 1,2,3 yazan yere bu forumların id numarasını yazın )
Bu sorgu ile artık bütün kullanıcıların mesaj sayıları olduğu gibi güncellenecektir. Admincp'den yükseltilen mesajlar, silinen mesajlar gibi bütün herşeyi hesaplayacaktır. Forum sitenizdeki yöneticiler bu sorgu ile artık mesaj sayılarını istediği gibi yükseltip düşüremeyecektir.
Eğer sizde bütün kullanıcılarınızın mesaj sayıları gerçeği gibi olsun istiyorsanız aşağıdaki sorguyu phpmyadmin'e giriş yaparak çalıştırınız;
PHP:
UPDATE xf_user AS user
SET message_count = (
SELECT COUNT(*)
FROM xf_post AS post
LEFT JOIN xf_thread AS thread ON (thread.thread_id = post.thread_id)
WHERE post.user_id = user.user_id
AND post.message_state = 'visible' AND thread.discussion_state = 'visible'
GROUP BY post.user_id
);
Eğer bazı forumları bunun dışında tutmak istiyorsanız aşağıdaki sorguyu forum id numarasını yazarak çalıştırınız. Örneğin forum oyunlarındaki mesajları eğer kullanıcı mesaj sayısına eklettirmiyorsanız o forumun id numarasını yazabilirsiniz. ( 1,2,3 yazan yere bu forumların id numarasını yazın )
Kod:
UPDATE xf_user AS user
SET message_count = (
SELECT COUNT(*)
FROM xf_post AS post
LEFT JOIN xf_thread AS thread ON (thread.thread_id = post.thread_id)
WHERE post.user_id = user.user_id
AND thread.node_id NOT IN (1,2,3)
AND post.message_state = 'visible' AND thread.discussion_state = 'visible'
GROUP BY post.user_id
);