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

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

Новый топик
04.09.2012, 13:46
Ответить | Цитировать
Евгений

Зарегистрирован:
2012-05-22
Сообщений: 31

Необходимо на главную вывести общее количество объектов в разных разделах.
Если бы в разделе, то там просто $totRows. Здесь же я понимаю нужно использовать listQuery, какую переменную запросить?
04.09.2012, 14:31
Ответить | Цитировать
Asiat
Аниматика
Asiat

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

Обычно запрашивают COUNT(*) чего-то там...

Разработка сайтов на Netcat с 2006... хм-м ... или 2005 хммм года. В общем, обращайтесь.
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
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
Сообщений: 869

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

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
Сообщений: 869

А, ну тогда вам выше верно подсказали. Нужно использовать конструкцию вида
".$db->get_var("select count(*) from ....")."

Но я так делать не стал, т.к. при большом количестве разделов это сильно нагружает mysql-сервер.Я поступил по-другому:
- создал в системной таблице "разделы" дополнительное поле "Количество товаров" (целое число).
- сделал php-функцию recalc_goodscount, которая проходит по всем разделам, где есть товары, и подсчитывает количество товаров в каждом разделе, и апдейтит вышеуказанное поле в таблице Subdivision.
- функцию эту вставил везде в действие после изменения, добавления и удаления/выключения в компоненте товаров.
- в макетах дизайна просто считываем значение счетчика нужного раздела.

05.09.2012, 15:59
Ответить | Цитировать
sparton
Шекера Евгений

Зарегистрирован:
2010-03-16
Сообщений: 141

Поддержу вариант крайний. Грамотно.
198 196 2012-09-05 15:59:51 12556
Описание проекта