Перейти к контенту

Количество открытых тем


Diam

Рекомендуемые сообщения

Господа, нужен совет по мини-модификации.

 

Как сделать,

чтобы в статистике под аватаром показывалось не только количество сообщений, но и количество открытых этим пользователем тем?

Ссылка на комментарий
Поделиться на других сайтах

Сделать в базе новое поле и при просмотре темы записывать туда +1
Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...

Song

Так он не просмотренных тем имел ввиду, а созданных (если я правильно его понял).

Ссылка на комментарий
Поделиться на других сайтах

DDfans

Все верно Song подсказал :D

В таблице ibf_members существует специальное поля для хранения количества сообщений пользователя. Чтобы не напрягать базу и не считать каждый раз все сообщения, искав в них ID текущего пользователя. Соответственно, что не грузить базу тяжелыми запросами в ibf_topics, нужно просто создать похожее поле в ibf_members и везде при создании, удалении темы соответственно этот счетчик изменять. А чтобы уже у текущих пользователей эту штуку заполнить, необходимо соответственно выполнить 1 раз тяжелый запрос по проставлению значений кол-ва тема пользователям...

Ссылка на комментарий
Поделиться на других сайтах

Oska, спасибо за ответ, принцип я понял, но...

но можно ли для чайника поподробнее (какие запросы и что в каких файлах модифицировать)?

Ссылка на комментарий
Поделиться на других сайтах

$DB->query("UPDATE ibf_members SET viewedtopics=viewedtopics + 1 WHERE id='".$ibforums->member['id']."'");
Ссылка на комментарий
Поделиться на других сайтах

Song, это про просмотренные топики (если я правильно понял),

а надо бы про созданные пользователем ;)

 

Зачем это надо?

Сейчас основной мерой активности служит количество сообщений пользователя

(от них даются статусы, отключается флуд-контроль, разрешается грузить фото -

ну сами знаете :D )

а количество созданных тем будет служить дополнительной мерой активности

(особенно полезно при конкурсном отборе на должность модератора)

Ссылка на комментарий
Поделиться на других сайтах

Я тебя самого процитирую:

открытых этим пользователем тем

Ну и где из этой цитаты видно, что количество созданных?

 

На самом деле то, что я привёл пример, это может быть всё что угодно, хоть созданных, хоть открытых, хоть удалённых. Смотря где запрос воткнёшь.

Добавлено в [mergetime]1083435466[/mergetime]

Сейчас основной мерой активности служит количество сообщений пользователя (от них даются статусы, отключается флуд-контроль, разрешается грузить фото -ну сами знаете) а количество созданных тем будет служить дополнительной мерой активности (особенно полезно при конкурсном отборе на должность модератора)

В таких случаях просто отключают счётчик сообщений в разделах по трёпу и всё. Тогда количество сообщений будет показывать действительную активность юзера по делу.

Ссылка на комментарий
Поделиться на других сайтах

Song

Ну и где из этой цитаты видно, что количество созданных?

Извини, невидно - не правильно выразил совю мысль.

 

В таких случаях просто отключают счётчик сообщений в разделах по трёпу и всё. Тогда количество сообщений будет показывать действительную активность юзера по делу.

Я и говорю, что кол-во открытых тем будет дополнительной мерой активности,

а ты говоришь, как сделать адекватную оценку основной активности - кол-ва сообщений,

и про отключения счётчика я знаю.

 

Спасибо, Song,

теперь я знаю как добавлять значение в таблицу,

и мне осталось теперь узнать как сделать:

цитирую Oska

А чтобы уже у текущих пользователей эту штуку заполнить, необходимо соответственно выполнить 1 раз тяжелый запрос по проставлению значений кол-ва тема пользователям...
Ссылка на комментарий
Поделиться на других сайтах

Вот так можно узнать кто сколько тем создал

SELECT starter_id,count(tid) FROM ibf_topics WHERE starter_id<>0 GROUP BY starter_id ORDER BY starter_id

Добавлено в [mergetime]1083507704[/mergetime]

А одним запросом чтобы за раз пропатчить - это вряд ли. Думаю, MySQL просто этого не умеет (или я не знаю).

Здесь по идее надо делать UPDATE .. SELECT, но насколько мне известно MySQL этого не умеет.

Поэтому - циклом.

 

2ALL

Кто может составить один запрос? Я бы на него посмотрел.

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.