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

Вывод количества новостей из категории и подкатегорий


     12.08.2011    категории, хак    Все вопросы » Общие вопросы    5018

вопрос
Подскажите, как вывести количество новостей из категории в которой есть несколько подкатегорий?
Моя ситуация следующая: есть категория c ID 2 и в ней ещё 8 подкатегорий. Для вывода общего количества новостей из категории ID 2 я написал следующий код:
<?php 
$sql_result = $db->query("select count(*) as nums from ". PREFIX ."_post ps where ps.category in(4,5,6,7,8,9,10,11)");
while($row = $db->get_row($sql_result))
{echo($row['nums']);}
?>

Он работает, НО, если новость находится на модерации то она тоже засчитывается. Как этого избежать?
И второй вопрос- как помимо общего количества, вывести ещё количество новостей в каждой подкатегории?

Ответил: Sander


Первая часть вопроса.
В условие where нужно добавить параметр approve.
$sql_result = $db->query("select count(*) as nums from ". PREFIX ."_post where approve AND category in(4,5,6,7,8,9,10,11)");

А вот по второму - для каждой категории нужно делать свой запрос с подсчетом.
Если каждая новость отмечена только в одной категории и так будет и далее, то:
$csql = $db->query("SELECT count(*) as n, category FROM ".PREFIX."_post WHERE approve GROUP BY category");
$cat_count = array();
while($r = $db->get_row($csql)) $cat_count[$r['category']] = $r['n'];

Теперь в переменной $cat_cont мы имеем массив с данными по количеству новостей в каждой категории.

4 комментария

Sander
Эксперт

Sander - 12 августа 2011 11:48 -

И еще...
Не плохо бы все это дело кешировать.

SanDev.pro - мой блог.

ICQ: 404-037-556
Skype: Sander8804

Mek
Юзер

Mek - 12 августа 2011 12:19 -

По первому вопросу всё ок- большое спасибо!

По второму- Получается что для каждой подкатегории нужно делать отдельный запрос+ 1 запрос для самой категории? Можно ли сделать это одним запросом?

Как сделать кеш?

ПафНутиЙ
Админ

ПафНутиЙ - 12 августа 2011 12:28 -

У Sander`a есть в продаже отличный хак для правильного подсчёта новостей в категориях - рекомендую smile

Каков вопрос - таков и ответ. Просто помните об этом.

vitnet
Эксперт

vitnet - 14 февраля 2013 03:51 -

Приобрел, теперь доволен как слон.

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

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

наверх