Регистрация
Вход через соцсети
Восстановление пароля

Количество объектов в разделе

Новый топик
Страницы: 1  |  2
26.05.2011, 16:43
Ответить | Цитировать
minimalis
Minimalis

Зарегистрирован:
2008-08-26
Сообщений: 13

Добрый день!
Подскажите пожалуйста какой функцией можно вывести число объектов в разделе.
Спасибо!

minimalis
26.05.2011, 18:07
Ответить | Цитировать
ev009

Зарегистрирован:
2010-05-25
Сообщений: 60

запросом к базе MySQL count(*) и т.д.
26.05.2011, 20:06
Ответить | Цитировать
minimalis
Minimalis

Зарегистрирован:
2008-08-26
Сообщений: 13

Приведите пожалуйста пример...
Спасибо!

minimalis
26.05.2011, 20:58
Ответить | Цитировать
Denis
Denis

Зарегистрирован:
2008-07-15
Сообщений: 666

Прямо в макете можно прописать
Код:
".$db->get_var("SELECT COUNT(`Message_ID`) FROM `MessageXX` WHERE `Subdivision_ID` = 'YY' ")."

где
ХХ - номер компонента
YY - номер раздела

Ксю доставляет...
27.05.2011, 12:17
Ответить | Цитировать
minimalis
Minimalis

Зарегистрирован:
2008-08-26
Сообщений: 13

Всё работает но оно выводит именно заданный раздел и компонент,а мне надо вставить в шаблон вывода навигаций что бы оно автоматом во всех разделах второго уровня выводило.
К примеру раздел стать в нём 10 статей значит он должен выводится так "Статьи(10)".
Как реализовать такое?
Спасибо!

minimalis
27.05.2011, 12:32
Ответить | Цитировать
Denis
Denis

Зарегистрирован:
2008-07-15
Сообщений: 666

Легче всего сначала написать функцию, которая по номеру раздела возвращает количество объектов. Ее можно вставить в модуль разработчика:
Код:
function get_count_by_sub ($sub ) {
global $db;
$class_id = $db->get_var("SELECT `Class_ID` FROM `Sub_Class` WHERE `Subdivision_ID` = '".intval($sub)."'");
$c = $db->get_var("SELECT COUNT(`Message_ID`) FROM `Message".$class_id."` WHERE `Subdivision_ID` = '".intval($sub)."' ");
return $c;
}


А в шаблоне навигации пишем
Код:
$browse_sub['unactive'] = " <li><a href='%URL'>%NAME (\".get_count_by_sub(\$data[\$i]['Subdivision_ID']).\") </a></li>";


P.S. Код не тестировал, просто показал идею

Ксю доставляет...
27.05.2011, 13:20
Ответить | Цитировать
minimalis
Minimalis

Зарегистрирован:
2008-08-26
Сообщений: 13

Denis огромнейшее вам спасибо!

minimalis
25.10.2011, 18:23
Ответить | Цитировать
LostSenSS

Зарегистрирован:
2011-06-23
Сообщений: 21

Пытаюсь вывести количество объектов компонента, пишу в макете дизайна

".$db->get_var("SELECT COUNT('Messge_ID') FROM 'Message168' WHERE 'Subdivision_ID' = '139' ")."

139 - номер раздела, 168 - номер компонента

Но ничего не происходит, ошибка так же не выводится.

Что я делаю не так?

Вообще хорошо бы, если бы это было свойством массива $current_cc, было бы удобно и логично.
Ведь достаточно часто нужно выводить общее кол-во статей, новостей и тд.

Успех — это умение двигаться от неудачи к неудаче, не теряя энтузиазма (с)Уинстон Черчилль
26.10.2011, 03:07
Ответить | Цитировать
Asiat
Аниматика
Asiat

Зарегистрирован:
2005-12-12
Сообщений: 567

Цитата:
".$db->get_var("SELECT COUNT('Messge_ID') FROM 'Message168' WHERE 'Subdivision_ID' = '139' ")."

Ошибка в названии колонки, поправьте на Message_ID

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

Разработка сайтов на Netcat с 2006... хм-м ... или 2005 хммм года. В общем, обращайтесь.
26.10.2011, 12:11
Ответить | Цитировать
LostSenSS

Зарегистрирован:
2011-06-23
Сообщений: 21

К сожалению результат тот же самый, ничего не выводится :/

У меня было написано правильно изначально, в результате попыток исправить сделал опечатку.

Успех — это умение двигаться от неудачи к неудаче, не теряя энтузиазма (с)Уинстон Черчилль
26.10.2011, 17:08
Ответить | Цитировать
Asiat
Аниматика
Asiat

Зарегистрирован:
2005-12-12
Сообщений: 567

Может там у вас кавычки не такие?
Пробуйте так:
SELECT COUNT(*) FROM `Message168` WHERE `Subdivision_ID` = '139'
Должно работать.

Разработка сайтов на Netcat с 2006... хм-м ... или 2005 хммм года. В общем, обращайтесь.
198 196 2012-04-18 19:30:36 11310
Страницы: 1  |  2
Описание проекта