Русское сообщество fluxbb

Быстрый лёгкий надёжный форумный движок

Вы не вошли.

Объявление

Вы можете внести свой вклад в содержание сайта. Жертвователи попадут в почетную группу "Спонсоры". Поддержать сайт.

#1 2014-05-06 23:09:40

PNG
Участник
Зарегистрирован: 2014-03-22
Сообщений: 24
Сайт

Пересчёт количетсва сообщений

Каким образом можно пересчитать сообщения на форуме? При удалении сообщений счетчик не меняется, таким образом у многих пользователей количество сообщений в профиле не соответствует реальному.
Спасибо.

Offline

#2 2014-05-07 05:13:16

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Пересчёт количетсва сообщений

@PNG, у себя в сборке в плагине NOT SUM использую такую конструкцию

	// Synchronize user post counts
	$db->query('CREATE TEMPORARY TABLE IF NOT EXISTS '.$db->prefix.'post_counts SELECT poster_id, count(*) as new_num FROM '.$db->prefix.'posts AS p, '.$db->prefix.'topics as t, '.$db->prefix.'forums as f WHERE f.no_sum_mess=0 and f.id=t.forum_id and p.topic_id=t.id GROUP BY p.poster_id') or error('Creating temporary table failed', __FILE__, __LINE__, $db->error());
	$db->query('UPDATE '.$db->prefix.'users SET num_posts=0') or error('Could not reset post counts', __FILE__, __LINE__, $db->error()); // Zero posts
	$db->query('UPDATE '.$db->prefix.'users, '.$db->prefix.'post_counts SET num_posts=new_num WHERE id=poster_id') or error('Could not update post counts', __FILE__, __LINE__, $db->error());

Если убрать из условия f.no_sum_mess=0, думаю будет работать и с оригинальным движком.

Offline

#3 2014-05-09 22:31:33

PNG
Участник
Зарегистрирован: 2014-03-22
Сообщений: 24
Сайт

Re: Пересчёт количетсва сообщений

@Visman, спасибо, сработало.

Offline

Подвал доски

Под управлением FluxBB. Хостинг Hostens