VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
подсчитать, сколько раз сказал %username% спасибо за промежуток времени
Кажется, это можно вывести в Просмотр комментариев к репутации, сделав выборку по нику и промежутку между датами.
@mindframe
Специалист
Join Date: Nov 2010
Posts: 471
Версия vB: 3.8.x
Пол:
Reputation:
Professional 320
Репутация в разделе: 216
1
Smalesh, не знаю структуру таблиц этого хака, но дата там точно записывается, поэтому просто WHERE date < date.
Для формирования второго, уже надо будет покурить маны: http://www.skillz.ru/dev/php/article...NER_OUTER.html
Первое что выбрал в гугле
Smalesh
В Черном списке
Join Date: Oct 2006
Награды в конкурсах:
Posts: 3,055
Версия vB: 3.8.7
Пол:
Reputation:
Мастер 3983
Репутация в разделе: 1322
0
Quote:
Originally Posted by Abraxas
сделав выборку по нику и промежутку между датами.
Дык сама выборка и интересует.
Smalesh добавил 30.07.2013 в 18:01
Quote:
Originally Posted by mindframe
Для формирования второго, уже надо будет покурить маны:
О. Респект, ткнули куда надо. Первое - там ерунда, там все в одной табличке
Code:
CREATE TABLE `vb3_post_thanks` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`userid` int(10) NOT NULL,
`username` varchar(50) NOT NULL,
`date` int(10) NOT NULL,
`postid` int(10) NOT NULL,
`__imported` tinyint(1) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `postid` (`postid`)
) ENGINE=MyISAM
А вот второе надо как-то крутить JOIN
Last edited by Smalesh : 07-30-2013 at 07:01 PM.
Reason: Добавлено сообщение
Smalesh, у меня другой, наверное, и у меня есть вот такое
я и подумала...
Видимо, в твоем этого нет, или тебе надо не это. Сорри
Smalesh
В Черном списке
Join Date: Oct 2006
Награды в конкурсах:
Posts: 3,055
Версия vB: 3.8.7
Пол:
Reputation:
Мастер 3983
Репутация в разделе: 1322
0
Quote:
Originally Posted by Abraxas
и у меня есть вот такое
И у меня такое есть. Но у меня интерес посчитать это в скрипте)
OldEr
Специалист
Join Date: Jun 2007
Награды в конкурсах:
Posts: 4,731
Версия vB: 3.8.x
Пол:
Reputation:
Мастер 4230
Репутация в разделе: 2624
1
Quote:
Originally Posted by Smalesh
сколько раз сказал %username% спасибо за промежуток времени.
PHP Code:
$result = $vbulletin->db->query_first("SELECT count(*) AS count FROM " . TABLE_PREFIX . "post_thanks WHERE userid = $userid AND date >= UNIX_TIMESTAMP($from) AND date < UNIX_TIMESTAMP($to)");
Quote:
Originally Posted by Smalesh
Задача сложнее - подсчитать, сколько раз сказал %username% спасибо за промежуток времени в определенных разделах форума.
PHP Code:
$result = $vbulletin->db->query_first("SELECT count(*) AS count FROM " . TABLE_PREFIX . "post_thanks WHERE userid = $userid AND date >= UNIX_TIMESTAMP($from) AND date < UNIX_TIMESTAMP($to) AND postid IN (SELECT postid FROM " . TABLE_PREFIX . "post WHERE forumid IN ($forums)");
, где
$userid – ID-пользователя (лучше выбирать по ID, чем по нику)
$from – дата начала выборки, например,
Code:
2003-03-01 00:00:00
$to – дата окончания выборки, например,
Code:
2003-03-31 00:00:00
$forums – строка, содержащая ID-разделов, разделённых запятой, например,
Code:
1, 2, 3
$result['count'] – переменная с результатом.
P.S: Вместо использования UNIX_TIMESTAMP можно предварительно переводить даты в UNIX-формат непосредственно в скрипте по средствам PHP.
Last edited by OldEr : 07-30-2013 at 10:28 PM.
Smalesh
В Черном списке
Join Date: Oct 2006
Награды в конкурсах:
Posts: 3,055
Версия vB: 3.8.7
Пол:
Reputation:
Мастер 3983
Репутация в разделе: 1322
1
Во блин. А с этой стороны я что-то не подумал
Code:
AND postid IN (SELECT postid FROM " . TABLE_PREFIX . "post WHERE forumid IN ($forums)")