• Konu İçeriğini Görebilmek İçin Lütfen Üye Olun. Aksi Takdirde İçeriği Göremezsiniz.

XenForo XenForo bütün kullanıcıların mesaj sayılarını yeniden hesaplama ve güncelleme

[ZF] Konu Bilgileri

Konu Hakkında Merhaba, tarihinde XenForo kategorisinde x tarafından oluşturulan XenForo bütün kullanıcıların mesaj sayılarını yeniden hesaplama ve güncelleme başlıklı konuyu okuyorsunuz. Bu konu şimdiye dek 319 kez görüntülenmiş, 0 yorum ve 0 tepki puanı almıştır...
Kategori Adı XenForo
Konu Başlığı XenForo bütün kullanıcıların mesaj sayılarını yeniden hesaplama ve güncelleme
Konbuyu başlatan x
Başlangıç tarihi
Cevaplar
Görüntüleme
İlk mesaj tepki puanı
Son Mesaj Yazan x

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;

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
);
 
Üst Alt