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

Синхронизация счетчика участников групп

Темы из форумов поддержки phpBB 3.2.x (доступны только для чтения)
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Гриif
phpBB 1.4.0
Сообщения: 37
Стаж: 8 лет 5 месяцев
Благодарил (а): 7 раз
Поблагодарили: 4 раза

Синхронизация счетчика участников групп

Сообщение Гриif »

Адм.раздел > Пользователи и группы > Управление группами > Участники (какой-то из групп)
В счетчике показывает, скажем, 300 участников, но на деле их там, скажем, 100 только. При том страниц все равно будет 100500
/adm/index.php?i=acp_groups&icat=12&mode=manage&action=list&g=777&start=120
, но далее от тех 100 имеющихся юзеров будет пагинация на пустые страницы.

Не уверен связано ли, но тоже проблема:
В /memberlist.php?mode=
юзеру будет писать "Основная группа", например, "Новые пользователи", но его давно в ней нету.

Синхронизировать статистику
Синхронизировать счётчики сообщений
в адм. разделе делал не раз.

В консоле php bin/phpbbcli.php reparser:reparse тоже неоднократно, но это уже, наверн, другое - потому оффтоп.
но даже (stk подводит куда больше) через консоль не распарсивает все сообщения: есть вариант верный? случайно натыкаюсь на сообщения, где не обработало... сколько на всей конференции таких неизвестно. как сделать, чтоб оно отработало все?



Как уладить? :)
phpbb 3.2.2
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2229
Стаж: 18 лет 10 месяцев
Откуда: Астана
Благодарил (а): 7 раз
Поблагодарили: 344 раза

Re: Синхронизация счетчика участников групп

Сообщение nissin »

Гриif, есть подозрение, что удаляли пользователей нештатно (например SQL запросом).
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 13177
Стаж: 15 лет 2 месяца
Благодарил (а): 236 раз
Поблагодарили: 3754 раза

Re: Синхронизация счетчика участников групп

Сообщение Татьяна5 »

Гриif, что делали с форумом до возникновения проблемы?
Гриif
phpBB 1.4.0
Сообщения: 37
Стаж: 8 лет 5 месяцев
Благодарил (а): 7 раз
Поблагодарили: 4 раза

Re: Синхронизация счетчика участников групп

Сообщение Гриif »

nissin, ...сперва хотел ответить твердо "нет" (не зря же в этой схеме через админку делал), но задумался... Может, до того и было такое (изначально как шашкой махал sql-запросами: не думал, что тут все так переплетено). Бэкапы все есть - так что не все потерянно, но в каком сплетении конкретно "заковырка" и как все решить с минимальными энергозатратами мне не понятно...

Татьяна5, тут и "проблема" - громкое слово: без понятия даже когда это возникло. Случайно заметил, а когда возникло - кто ж его знает...
phpbb 3.2.2
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 13177
Стаж: 15 лет 2 месяца
Благодарил (а): 236 раз
Поблагодарили: 3754 раза

Re: Синхронизация счетчика участников групп

Сообщение Татьяна5 »

Гриif писал(а): 14.06.2018 17:53 изначально как шашкой махал sql-запросами
Если так, то сначала пройтись "аварийным комплексом" в STK, а если не поможет - разбирать структуру БД, подробно, и синхронизировать данные там уже вручную. Скорей всего, понадобится второй вариант

Отправлено спустя 51 секунду:
https://www.phpbbguru.net/database/tables/ - это от 3.0, но в основном то, что надо
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2229
Стаж: 18 лет 10 месяцев
Откуда: Астана
Благодарил (а): 7 раз
Поблагодарили: 344 раза

Re: Синхронизация счетчика участников групп

Сообщение nissin »

Дело в том, что эти счётчики нигде не хранятся и подсчёт количества пользователей в группе идёт запросом к таблице phpbb_user_group:

Код: Выделить всё

				// Total number of group members (non-leaders)
				$sql = 'SELECT COUNT(user_id) AS total_members
					FROM ' . USER_GROUP_TABLE . "
					WHERE group_id = $group_id
						AND group_leader = 0";
				$result = $db->sql_query($sql);
				$total_members = (int) $db->sql_fetchfield('total_members');
				$db->sql_freeresult($result);
Если количество неверное, значит в этой таблице содержится неактуальная информация:
Гриif
phpBB 1.4.0
Сообщения: 37
Стаж: 8 лет 5 месяцев
Благодарил (а): 7 раз
Поблагодарили: 4 раза

Re: Синхронизация счетчика участников групп

Сообщение Гриif »

В общем, предстоит много муторной работы... Спасибо за наводки.
phpbb 3.2.2
Гриif
phpBB 1.4.0
Сообщения: 37
Стаж: 8 лет 5 месяцев
Благодарил (а): 7 раз
Поблагодарили: 4 раза

Re: Синхронизация счетчика участников групп

Сообщение Гриif »

А помогите, плз, sql-запросом: если в таблице phpbb3_user_group user_id есть, а в phpbb3_users такого user_id нету, то удалить строку из phpbb3_user_group (таким образом очистятся хвосты: когда удалил юзеров из phpbb3_users, но записи о них остались в phpbb3_user_group)
phpbb 3.2.2
Аватара пользователя
Pazh
Former team member
Сообщения: 2317
Стаж: 16 лет 11 месяцев
Благодарил (а): 42 раза
Поблагодарили: 506 раз

Re: Синхронизация счетчика участников групп

Сообщение Pazh »

Гриif,

Код: Выделить всё

delete from phpbb3_user_group  where user_id not in (select user_id from phpbb3_users) 
Помощь в ЛС/email только за WM или ЮMoney
Гриif
phpBB 1.4.0
Сообщения: 37
Стаж: 8 лет 5 месяцев
Благодарил (а): 7 раз
Поблагодарили: 4 раза

Re: Синхронизация счетчика участников групп

Сообщение Гриif »

Pazh, спасибо большое! Похоже, все оказалось легче, чем думалось: этот запрос решил описанную проблему. Кроме части:
Не уверен связано ли, но тоже проблема:
В /memberlist.php?mode=
юзеру будет писать "Основная группа", например, "Новые пользователи", но его давно в ней нету.
но это и логично :)
phpbb 3.2.2
Аватара пользователя
Pazh
Former team member
Сообщения: 2317
Стаж: 16 лет 11 месяцев
Благодарил (а): 42 раза
Поблагодарили: 506 раз

Re: Синхронизация счетчика участников групп

Сообщение Pazh »

Гриif, Группа по-умолчанию хранится в таблице phpbb3_users поле group_id
Помощь в ЛС/email только за WM или ЮMoney

Вернуться в «phpBB 3.2.x (архив)»