Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Количество юзеров которые добавили новость в избранное

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


     17.09.2011    добавить в закладки, хак    Все вопросы » Общие вопросы    4750

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

Ответил: 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
Эксперт

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

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

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

Heon
Юзер

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

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

DroT
Юзер

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

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

Betalek
Юзер

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

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

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

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

наверх