Не нравятся результаты поиска? Попробуйте другой поиск!

Количество юзеров которые добавили новость в избранное


     17.09.2011    Общие вопросы    3021

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

Ответил: Sander


Открыть файл engine/modules/show.???.php
После строки:
$row['category'] = intval( $row['category'] );

Вставить:
$favc = $db->super_query("SELECT count(*) as c FROM ".USERPREFIX."_users WHERE favorites LIKE '{$row['id']},%' OR favorites LIKE '%,{$row['id']},%' OR favorites LIKE '%,{$row['id']}' OR favorites = {$row['id']}");
$tpl->set("{favcount}", intval($favc['c']));

или
$favc = $db->super_query("SELECT count(*) as c FROM ".USERPREFIX."_users WHERE favorites REGEXP '[[:<:]]{$row['id']}[[:>:]]'");
$tpl->set("{favcount}", intval($favc['c']));

В шаблоне новости использовать тег: {favcount} - который выводит чилом количество пользователей, от 0 до всех количества всех пользователей.

Не знаю какой вариант быстрее, поэтому написал оба.
Для коротких новостей и custom это прибавит по одному запросу на каждую новость.

Комментарии пользователей (4)

nowheremany
192

1659 | 1292

nowheremany - 17 сентября 2011 13:56 - Эксперт

для этого необходимо изменить структуру хранения данных, иначе сервер выть будет

Благодарность принимаю тут Связь

Heon
6

87 | 84

Heon - 17 сентября 2011 18:03 - Юзер

Интересный вопрос.

DroT
4

38 | 36

DroT - 17 сентября 2011 19:27 - Юзер

Это скорей стол заказов!

Betalek
2 | 1

Betalek - 14 октября 2013 21:01 - Юзер

Поставил! Возможно сделать чтобы при добавлении сразу изменялось количество, а не после перезагрузки страницы?

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы