|
|
|
| Доброго времени суток.
Подскажите каким запросом можно посчитать кол-во всех записей в неограниченной вложенности категорий.
Вот структура таблицы неограниченных категорий:
Вот структура таблицы записей:
Вот код в котором идет подсчет именно в выбранной категории:
<?php
$sql_category = mysql_query("SELECT * FROM category WHERE uid < '1' ORDER BY name");
while($category = mysql_fetch_assoc($sql_category)){
$col_file = mysql_result(mysql_query("SELECT COUNT(*) FROM article WHERE id_category='$category[id]'"), 0);
echo '<a href="">'.$category['name'].'</a> ['.$col_file.']';
}
?>
|
А как посчитать все записи во вложенности категорий? | |
|
|
|
|
|
|
|
для: BLACK
(22.07.2010 в 12:02)
| | >Вот структура таблицы неограниченных категорий:
>id | uid | name
Что. Это. Значит. | |
|
|
|
|
|
|
|
для: Trianon
(22.07.2010 в 12:08)
| | Вот пример заполненности категорий:
1 | 0 | Первая
2 | 0 | Вторая
3 | 0 | Третья
4 | 1 | Первая1
5 | 1 | Первая2
6 | 3 | Третья1
7 | 4 | Первая11
|
Это вывод:
Первая
-Первая1
-Первая11
-Первая2
Вторая
Третья
-Третья1
|
Вот и необходим подсчет статей в каждой (под)категории. | |
|
|
|
|
|
|
|
для: BLACK
(22.07.2010 в 12:19)
| | >id | uid | name
Что. Это. Значит.
Подсчет записей, входящих в некоторую иерархию списка смежности делается так:
в цикле
SELECT id FORM category WHERE uid IN ($a)
|
с добавлением полученного набора ключей в список.
после чего определяется количество связанных объектов.
SELECT COUNT(*) FORM article WHERE id_category IN( $list)
|
| |
|
|
|
|
|
|
|
для: Trianon
(22.07.2010 в 14:28)
| | Неограниченная вложенность...
Вот как бы такой цикл составить?
Но все таки спасибо, попробую что нибудь придумать. | |
|
|
|
|