![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 3 Всего: 42 |
Куда с кешированием-то торопится? ТС не указал даже как часто ему это надо вычислять -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 14 Всего: 386 |
Эти числа, imho, должны появляться при любом выводе таблицы категорий. То есть - часто ;), на каждой странице с товаром. Вычисленные значения, вероятно, удобнее хранить прямо в таблице категорий -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 2 Всего: 101 |
||||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 14 Всего: 260 |
||||
|
||||
| Serious2008 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 28.1.2011 Репутация: нет Всего: нет |
Снова здравствуйте.
Вот у меня где загвоздка, правда прошу помощи, причём желательно в виде кода. Первый массив, это все категории где могут быть данные, например товары. Мне нужно посчитать, сколько этих товаров содержится во всех категориях по выше стоящему, второй массив это как бы древо, в котором содержатся ветки. Т.е. 0 это корень, от неого отходят 1,3,5,6,7,8. Потом от 1 отходит 2,4, от 2 отходит 10 и ещё от 5 отходит 9. Предположим что в 10 у нас один товар, а в 4-ом 3. то тогда в 1-ом должно получиться 4 по простой логике, но дело в том, что там может один и тот же товар быть и в 4-ой и в 10-ой категории. И тогда в 1 у нас должо получиться 3 товара. А если и в 9-ом тоже один какой-нибудь товар хранящийся в 4, то тогда в 0 должно получится тоже 3 товара. Но допустим в 0 можно пихать все товары и тут как бы не сложно посчитать. А вот как быть с детьми я не знаю. Ниже пример массивов
|
|||
|
||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 3 Всего: 42 |
Serious2008, для каждой категории выберите список ее детей (всех) и дальше делайте агрегацию запросом
т.е. будет что-то вида
Это сообщение отредактировал(а) Fortop - 30.3.2012, 07:41 -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 2 Всего: 101 |
Serious2008, Вам нужно обойти дерево (поиск в глубину, рекурсивно). Каждому элементу массива (узлу дерева) ставите в соответствие число товаров. При покидании узла
1. если этот узел слдержит товар - присваиваете числу товаров 1 2. прибавляете к числу товаров сумму товаров поддеревьев попробуйте сами, не получится - поможем с кодом |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |