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

Как искать: "Новые ответы на мои сообщения"?


Design_Nick

Вопрос

Задача вот в чем. Модератору нужно найти темы в которых он написал предупреждение и проконтролировать ответ на него.

 

И вообще где можно найти как "программировать" поиск?

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

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

  • 0

Я у себя давно сделал дополнительную опцию поиска своих сообщений, а у иконки сообщения кроме метки наличия своих сообщений в теме сделал еще и возможность перехода к последнему своему сообщению.

 

А в немодифицированном форуме (здесь например) ищу свои сообщения через свой же профиль, заходя в него по линку в шапке: "Вошли как: FatCat ( Выход )"

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

  • 0
Методом поделишься? :D

Что касается кнопки "мои темы", то я просто в шаблон добавил линк на http://forums.ibresource.ru/index.php?act=Search&CODE=01&forums=all&exactname=1&sort_order=desc&namesearch=FatCat - там только ник подставляется по текущему пользователю.

 

 

С переходом к своему последнему сообщению в топике немного сложней. Я долго экспериментировал с нагрузкой и убедился, что экономичней гонять запрос с MAX(pid) в цикле по каждому топику, чем утяжелять подсчетами джойн в основном запросе. Поэтому я добавил запрос нахождения максимального "своего" айдишника поста в теме - внутри цикла по топикам.

Счетчик запросов приводит в оторопь, но само время генерации страницы оказывается практически одинаковым.

Вот сравнительные цифры по гостю и по пользователю, писавшему во многих темах:

[ Время генерации скрипта: 0,0492 ] [ Использовано запросов: 18 ] [ Использовано памяти: 2,007 Мб. ] [ GZIP включён ]

[ Время генерации скрипта: 0,0523 ] [ Использовано запросов: 78 ] [ Использовано памяти: 2,03 Мб. ] [ GZIP включён ]

Получается, что дополнительные 60 (!!!) запросов увеличили нагрузку всего на 6%, у большинства же пользователей дополнительных запросов будет всего 1-2-3...

Для просмотра по ссылке "активные темы":

				if($ibforums->member['id'])
			{
				$DB->query("SELECT MAX( pid ) AS pend FROM ibf_posts WHERE topic_id = ".$topic['tid']." AND  author_id = ".$ibforums->member['id']);
				$t_row = $DB->fetch_row();

				if($t_row['pend'])
					$topic['folder_img']  = "<a title='Перейти к последнему своему сообщению в этой теме' href='{$this->base_url}showtopic=0&view=findpost&p=".$t_row['pend']."'>".str_replace("}>","_DOT}>",$topic['folder_img'])."</a> ";
			}

 

На всякий случай напомню, что у меня "однушка"; для старших нужно смотреть как интерпретировать.

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

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

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

Гость
Ответить на вопрос...

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

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

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

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

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

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

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

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