Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Шаблоны (TPL) » Statistics.html и вивод кол-ва новостей в нем!?

Statistics.html и вивод кол-ва новостей в нем!?


     31.03.2015    Все вопросы » Шаблоны (TPL)    2299

вопрос
Доброго времени суток, ув. Знатоки. Сразу к вопросу...
Столкнулся с проблемой на странице statistics.html, а именно как вывести кол-во новостей в определенной категории?

Ответил: golden_eagle_god


Выполните запрос и выведите значение, вместо {ваш id} вставьте цифру:

$news_count_cat = $db->super_query("SELECT count(*) as count FROM ".PREFIX."_post WHERE category='{ваш id}'");

$tpl->set( '{news_count_cat}', $news_count_cat['count'] );


В шаблоне используйте {news_count_cat} чтоб вывести это число.
Надеюсь помог. Удачи.

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

golden_eagle_god
Юзер

golden_eagle_god - 1 апреля 2015 16:45 -

В добавок к ответу, забыл сказать, что правки нужно производить в файле /engine/modules/stats.php

Apache
Юзер

Apache - 1 апреля 2015 21:00 -

golden_eagle_god,
Тоесть, если у меня около 400 категорий, мне надо сделать 400 запросов? Не ужели все так сложно... (

golden_eagle_god
Юзер

golden_eagle_god - 2 апреля 2015 11:16 -

Нет, ну смотря для чего вам это нужно и как выводить. Я ответил по факту, для определенной категории.
как вывести кол-во новостей в определенной категории


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

foreach ($cat_info as $key=>$val){

    #Кол-во публикаций в кат-ии.
    $news_cat_num = $db->super_query("SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE category='{$key}'");
    
    $buffer .= "<p>ID - {$key}, Новостей - {$news_cat_num['count']}шт.</p>";

}


Если не хотите много запросов, то можете воспользоваться одним запросом:

"SELECT c.id as cat_id, count(p.id) as count_news FROM ".PREFIX."_post p JOIN ".PREFIX."_category c ON p.category = c.id GROUP BY p.category;


На выходе будет:

cat_id count_news
10 17
4 11
5 14
6 7
7 13
8 6

Ну а потом перебрать эти данные через цикл и всё. Удачи

Apache
Юзер

Apache - 3 апреля 2015 15:12 -

golden_eagle_god,
Спасибо за помощь. Нужно пример: у меня сайт каталог программ. И вот для каждой категории вывести кол-во программ в ней.
Пример:
Программ для графики: 374
Программы редакторы: 217
и тп.

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

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

наверх