|
|
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
Зарегистрирован: 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
Зарегистрирован: 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
Аниматика
Зарегистрирован: 2005-12-12
Сообщений: 576
|
Цитата:".$db->get_var("SELECT COUNT('Messge_ID') FROM 'Message168' WHERE 'Subdivision_ID' = '139' ")."
Ошибка в названии колонки, поправьте на Message_ID
В массив подсчет объектов загнать вряд-ли получится, могут же быть самые разные системные настройки в компоненте.
|
|
|
26.10.2011, 12:11
|
|
LostSenSS
Зарегистрирован: 2011-06-23
Сообщений: 21
|
К сожалению результат тот же самый, ничего не выводится :/
У меня было написано правильно изначально, в результате попыток исправить сделал опечатку.
Успех — это умение двигаться от неудачи к неудаче, не теряя энтузиазма (с)Уинстон Черчилль
|
|
|
26.10.2011, 17:08
|
|
Asiat
Аниматика
Зарегистрирован: 2005-12-12
Сообщений: 576
|
Может там у вас кавычки не такие?
Пробуйте так:
SELECT COUNT(*) FROM `Message168` WHERE `Subdivision_ID` = '139'
Должно работать.
|