Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Вывод древовидной структуры из БД [2]
Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010 Откуда: Украина, Запорожье
Помог: 62 раз(а)
Мелкий, сорри! Это я дурак Я забыл про те елементы, у которых нет потомков для них ведь тоже будет запрос... Вобщем вы правы
----- Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
Мелкий
Отправлено: 12 Июля, 2011 - 17:59:48
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Саныч, ага, я так и подумал. Бывает, в общем
----- PostgreSQL DBA
OrmaJever
Отправлено: 12 Июля, 2011 - 18:14:42
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
Мелкий пишет:
OrmaJever, вообще-то 4 - это будет результатов.
А запросов будет 11. Без запроса не узнаешь, есть ли дочерние элементы.
Внимательный же...
Да точно запросов будет 11. Мелкий а что скажешь по теме, что лутше запросы в бд или масив?
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
Мелкий
Отправлено: 12 Июля, 2011 - 19:20:17
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
OrmaJever пишет:
Мелкий а что скажешь по теме, что лутше запросы в бд или масив?
Для отображения структуры - лучше 1 запрос. Массив ключ-строка чрезвычайно компактен, двухмерный массив 100х100 6-символьных строк занимает по данным memory_get_peak_usage (т.е. ещё со всем окружением PHP) 1464796 байта, что как-то ни о чём.
И я зделал несколько тестов и вот средний результат времени за 10 проверок
0.0123 - с базой
0.0097 - с масивом
Разница не очень, но вобщем вам судить
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
Мелкий
Отправлено: 12 Июля, 2011 - 21:57:46
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Saymor пишет:
хм.. а где вы взяли из моего примера $id ?
$i имелся в виду, базу рисовал, по привычке id пишу
У вас ведь массив: ключ - id родителя, значение - простой числовой массив детей этого родителя. Ну и чтобы узнать, является ли этот элемент конечной ветвью - надо проверить, чтобы его id не было в ключах первого массива $tree[вот тута].
----- PostgreSQL DBA
Saymor
Отправлено: 13 Июля, 2011 - 17:47:04
Новичок
Покинул форум
Сообщений всего: 52
Дата рег-ции: Май 2011
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.