Jump to content

Объединить соседние сообщения одного пользователя, v4.5.4.2 NULLED

Featured Replies

Posted

Привет, всем!

Вручную удалял сообщения из таблицы bf_forums_posts, после чего возникло две проблемы:

  1. “Пагинация” старая сохранилась, сообщений уже нет, а куча зарезервированных страниц под отображение их осталось…. как пересчёт форума включить?

  2. Оказалось куча соседних сообщений от одного пользователя, как бы их автоматически склеить в одно? Их там сотни или тысячи, так что вручную совсем не вариант…..

Буду рад любым советам, заранее спасибо, что не отказали ))

  • Author

Так же вопрос о том, как принудительно включить пересчёт постов во вкладке “Лидеры” - там где общая статистика Форума по количеству написанных постов. Ведь теперь постов меньше, но они не пересчитались и стоят старые значения лидерства.

  • Author

Ну, получается, надо запросами пересчитывать всё? Типа, сначала пересчитать сообщения пользователей:

UPDATE ibf_core_members m

LEFT JOIN (

SELECT author_id, COUNT(*) as posts

FROM ibf_forums_posts

WHERE queued = 0

GROUP BY author_id

) z ON m.member_id = z.author_id

SET m.member_posts = IFNULL(z.posts, 0);

Потом пересчитать сообщения в темах:

UPDATE ibf_forums_topics t

LEFT JOIN (

SELECT topic_id, COUNT(*) as posts

FROM ibf_forums_posts

WHERE queued = 0

GROUP BY topic_id

) z ON z.topic_id = t.tid

SET t.posts = IFNULL(z.posts, 0);

Потом уже темы и сообщения:

UPDATE ibf_forums_forums f

LEFT JOIN (

SELECT forum_id, COUNT(*) as topics, SUM(posts) as posts

FROM ibf_forums_topics

GROUP BY forum_id

) z ON z.forum_id = f.id

SET f.topics = IFNULL(z.topics, 0), f.posts = IFNULL(z.posts, 0);

И чего, все таким пердолингом занимаются, кто в БД залез или есть путь достойней?

Чтобы всё было корректно, вы должны повторить всё, что делает движок форума при удалении сообщения. Либо удалять штатными средствами.

С объединением то же самое, либо галочки и “Объединить“, либо куча запросов к базе или свое небольшое приложение, которое это сделает за вас.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.