|
|
04.09.2012, 13:46
|
|
Евгений
Зарегистрирован: 2012-05-22
Сообщений: 31
|
Необходимо на главную вывести общее количество объектов в разных разделах.
Если бы в разделе, то там просто $totRows. Здесь же я понимаю нужно использовать listQuery, какую переменную запросить?
|
|
|
04.09.2012, 14:31
|
|
Asiat
Аниматика
Зарегистрирован: 2005-12-12
Сообщений: 576
|
Обычно запрашивают COUNT(*) чего-то там...
|
|
|
04.09.2012, 15:04
|
|
llkp
Ruslan Kimov
Зарегистрирован: 2010-08-23
Сообщений: 81
|
Код:$db->get_var("SELECT COUNT(Message_ID) FROM MessageXX WHERE Checked = 1");
|
|
|
04.09.2012, 17:16
|
|
DiGGy
DiGGy
Зарегистрирован: 2005-04-04
Сообщений: 1546
|
с учетом разделов:
Цитата:$db->get_var("SELECT COUNT(Message_ID) FROM MessageXX WHERE Checked = 1 and Subdivision_ID = YY");
А если у вас более общая задача и у разделов разные компоненты назначены, то тут на 2 запроса надо разбивать - сначала определить ИД назначенного компонента из таблички Sub_Class а затем уже выполнить указанный выше запрос.
Temet nosce...
|
|
|
04.09.2012, 17:19
|
|
sparton
Шекера Евгений
Зарегистрирован: 2010-03-16
Сообщений: 141
|
Цитата:$db->get_var("SELECT COUNT(*) FROM MessageXX WHERE Checked = 1 and Subdivision_ID = YY");
Должно быстрее отработать
|
|
|
05.09.2012, 10:40
|
|
Евгений
Зарегистрирован: 2012-05-22
Сообщений: 31
|
А теперь глупый вопрос: как эту конструкцию вставлять в шаблон?
|
|
|
05.09.2012, 12:25
|
|
Руслан Густокашин
Студия Вэлпис
Зарегистрирован: 2012-02-06
Сообщений: 962
|
Смотря какая у вас задача. Объясните более подробно, пожалуйста, что именно нужно получить.
|
|
|
05.09.2012, 12:30
|
|
sparton
Шекера Евгений
Зарегистрирован: 2010-03-16
Сообщений: 141
|
Цитата:А теперь глупый вопрос: как эту конструкцию вставлять в шаблон?
Код:$browse_sub[0]['unactive'] = '...код html... (".$db->get_var("SELECT COUNT(*) FROM MessageXX WHERE Checked = 1 and Subdivision_ID = ".$data[$i][Subdivision_ID]).")...';
XX - соотв указать нужную тбл
Пример для netcat до 5 версии. В 5ой не знаю как поведет.
|
|
|
05.09.2012, 13:28
|
|
Евгений
Зарегистрирован: 2012-05-22
Сообщений: 31
|
Цитата:Смотря какая у вас задача. Объясните более подробно, пожалуйста, что именно нужно получить.
Задача, допустим есть каталог товаров, на главное выводятся "Последние товары" и хотел к заголовку добавить общее количество товаров в каталоге.
|
|
|
05.09.2012, 13:41
|
|
Руслан Густокашин
Студия Вэлпис
Зарегистрирован: 2012-02-06
Сообщений: 962
|
А, ну тогда вам выше верно подсказали. Нужно использовать конструкцию вида
".$db->get_var("select count(*) from ....")."
Но я так делать не стал, т.к. при большом количестве разделов это сильно нагружает mysql-сервер.Я поступил по-другому:
- создал в системной таблице "разделы" дополнительное поле "Количество товаров" (целое число).
- сделал php-функцию recalc_goodscount, которая проходит по всем разделам, где есть товары, и подсчитывает количество товаров в каждом разделе, и апдейтит вышеуказанное поле в таблице Subdivision.
- функцию эту вставил везде в действие после изменения, добавления и удаления/выключения в компоненте товаров.
- в макетах дизайна просто считываем значение счетчика нужного раздела.
|
|
|
05.09.2012, 15:59
|
|
sparton
Шекера Евгений
Зарегистрирован: 2010-03-16
Сообщений: 141
|
Поддержу вариант крайний. Грамотно.
|