PHP: Построение древовидных данных в PHP
Недавно, возникла потребность сделать древовидный, порядковый список категорий, в одном из проектов.
2 главных условия, которые соблюдал:
1) в html должны наглядно показываться родительские элементы и их "дети";
2) для всей операции 1 SQL запрос.
SQL-структура была такая:
После запроса в БД массив получился такой.
Для удобной работы я сгруппировал массив по categoryID, заменив его ключи на этот идентификатор.
А вот и сама функция, которая пишет в глобальный массив $g_data результат своей рекурсивной работы.
Остаётся только запустить процесс.
- ---------------------------------------------------------------------------------
- | FIELD | Type | NULL | KEY | DEFAULT | Extra
- ---------------------------------------------------------------------------------
- | categoryID | int(3) | NO | PRI | NULL | AUTO_INCREMENT |
- | parent | int(3) | NO | | 0 | |
- | name | varchar(255) | NO | | NULL | |
- | slug | varchar(255) | NO | | NULL | |
- | pic | varchar(255) | YES | | NULL | |
- ---------------------------------------------------------------------------------
- 5 rows IN SET (0.03 sec)
- Array
- (
- [0] => Array
- (
- [categoryID] => 1
- [parent] => 0
- [name] => Фильмы
- [slug] => films
- [pic] =>
- )
- [1] => Array
- (
- [categoryID] => 2
- [parent] => 0
- [name] => Музыка
- [slug] => music
- [pic] =>
- )
- [...]
- )
- foreach ($data AS $v)
- $array[$v['categoryID']] = $v;
- FUNCTION tree (&$data, $node_id, $lvl = 0)
- {
- switch ($lvl)
- {
- // для каждой категории может быть действие (напр. присвоить id)
- case 0:
- $html = '<option style="font-weight:bolder;" disabled>- КОРЕНЬ -</strong>'."\n";
- break;
- DEFAULT:
- /* str_repeat делает отступ слева, в зависимости от уровня кат-ии. Это наглядно показывает юзеру родителя категории и его дочерний элемент. А если кат-я самая "верхняя", она выделяется стилем font-weight:bold */
- $html = '<option '.($data[$node_id]['parent']==0?'style="font-weight:bold;':'').' value="'.$data[$node_id]['categoryID'].'">'.str_repeat(' ', $lvl) . $data[$node_id]['name'].'</option>'."\n";
- }
- $this->g_data['tree'] .= $html;
- // рекурсия
- foreach ($data AS $row)
- IF ($row['parent'] == $node_id)
- $this->tree($data, $row['categoryID'], $lvl 1);
- }
tree($array, 0);
Extractionlpc 15 Maя в 12:26 #
monuments related to deep
Extractionlpc 15 Maя в 12:26 #
monuments related to deep
CraigVer 18 Junя в 17:10 #
luvre.top/ Лувр - музей в мире шопов! 0rb11ta.top/ Orb11ta работает! totblack.top/ BLACK TOT yvk92.cc/ Джей и Молчаливый Боб triptrip24.top/ TRIPMASTER m19ekb.top/ ПАРТИЗАНЫ ibelive.top/login/ lineshop.cc/
CraigVer 18 Junя в 17:10 #
luvre.top/ Лувр - музей в мире шопов! 0rb11ta.top/ Orb11ta работает! totblack.top/ BLACK TOT yvk92.cc/ Джей и Молчаливый Боб triptrip24.top/ TRIPMASTER m19ekb.top/ ПАРТИЗАНЫ ibelive.top/login/ lineshop.cc/
Josephunfok 26 Junя в 10:18 #
1. Вход тут: darkstore.cc 2. Вход тут: kro34.shop Официальный сайт: captcha-kra34.cc Кракен маркетплейс является одним из самых популярных и надежных площадок в даркнете, предлагая пользователям широкий ассортимент товаров и услуг. Если вы ищете безопасный и анонимный способ совершать покупки, то Кракен маркетплейс — это отличный выбор. В этой статье мы подробно разберем, как работает площадка, как на нее попасть через официальные ссылки и зеркала, а также какие преимущества она предоставляет. Для начала работы с Кракен маркетплейс вам понадобится кракен ссылка или кракен зеркало. Поскольку основной домен может быть заблокирован, площадка регулярно обновляет свои зеркала. Официальные ссылки всегда можно найти на darkstore.cc, либо на kro34.shop (в случае блокировки - kro35, kro36 и т.д). Эти домены обеспечивают безопасный вход на Кракен маркет без риска попасть на фишинговый сайт. Кракен вход осуществляется через специальный переходник, который шифрует соединение и защищает ваши данные. Это особенно важно для тех, кто ценит анонимность. После перехода по кракен ссылка или кракен зеркало вам нужно будет ввести логин и пароль, либо зарегистрироваться, если вы новый пользователь. Кракен маркет предлагает огромный выбор товаров: от цифровых товаров и документов до электроники и веществ. Площадка работает по системе гарантийных сделок, что минимизирует риск мошенничества. Продавцы проходят верификацию, а отзывы покупателей помогают выбрать надежного поставщика. Одним из главных преимуществ Кракен маркетплейс является его стабильность. Даже при блокировках основного домена, kro34.shop и другие зеркала позволяют пользователям всегда оставаться на связи. Кроме того, площадка поддерживает различные способы оплаты, включая криптовалюты, что делает транзакции максимально анонимными. Если у вас возникли проблемы с доступом, попробуйте использовать кракен переходник darkstore.cc или поискать актуальные зеркала на тематических форумах. Важно помнить, что только официальные ссылки, такие как darkstore.cc и kro34.shop гарантируют безопасность. Кракен маркетплейс продолжает развиваться, предлагая пользователям новые функции и улучшенную защиту. Если вы ищете надежную площадку с большим ассортиментом и высоким уровнем безопасности, то Кракен маркет — это то, что вам нужно. Не забывайте проверять актуальные кракен зеркала и соблюдать правила анонимности для безопасных покупок. Таким образом, Кракен маркетплейс остается одним из лидеров в своем сегменте, предоставляя пользователям удобный и безопасный способ совершать сделки. Используйте только проверенные kro34.shop домены и следите за обновлениями, чтобы оставаться в курсе новых возможностей площадки. 1. Основной клир для поиска безопасных ссылок, вход: darkstore.cc 2. Клир домен Kraken: kro34.shop 3. Официальный сайт: captcha-kra34.cc
Josephunfok 26 Junя в 10:18 #
1. Вход тут: darkstore.cc 2. Вход тут: kro34.shop Официальный сайт: captcha-kra34.cc Кракен маркетплейс является одним из самых популярных и надежных площадок в даркнете, предлагая пользователям широкий ассортимент товаров и услуг. Если вы ищете безопасный и анонимный способ совершать покупки, то Кракен маркетплейс — это отличный выбор. В этой статье мы подробно разберем, как работает площадка, как на нее попасть через официальные ссылки и зеркала, а также какие преимущества она предоставляет. Для начала работы с Кракен маркетплейс вам понадобится кракен ссылка или кракен зеркало. Поскольку основной домен может быть заблокирован, площадка регулярно обновляет свои зеркала. Официальные ссылки всегда можно найти на darkstore.cc, либо на kro34.shop (в случае блокировки - kro35, kro36 и т.д). Эти домены обеспечивают безопасный вход на Кракен маркет без риска попасть на фишинговый сайт. Кракен вход осуществляется через специальный переходник, который шифрует соединение и защищает ваши данные. Это особенно важно для тех, кто ценит анонимность. После перехода по кракен ссылка или кракен зеркало вам нужно будет ввести логин и пароль, либо зарегистрироваться, если вы новый пользователь. Кракен маркет предлагает огромный выбор товаров: от цифровых товаров и документов до электроники и веществ. Площадка работает по системе гарантийных сделок, что минимизирует риск мошенничества. Продавцы проходят верификацию, а отзывы покупателей помогают выбрать надежного поставщика. Одним из главных преимуществ Кракен маркетплейс является его стабильность. Даже при блокировках основного домена, kro34.shop и другие зеркала позволяют пользователям всегда оставаться на связи. Кроме того, площадка поддерживает различные способы оплаты, включая криптовалюты, что делает транзакции максимально анонимными. Если у вас возникли проблемы с доступом, попробуйте использовать кракен переходник darkstore.cc или поискать актуальные зеркала на тематических форумах. Важно помнить, что только официальные ссылки, такие как darkstore.cc и kro34.shop гарантируют безопасность. Кракен маркетплейс продолжает развиваться, предлагая пользователям новые функции и улучшенную защиту. Если вы ищете надежную площадку с большим ассортиментом и высоким уровнем безопасности, то Кракен маркет — это то, что вам нужно. Не забывайте проверять актуальные кракен зеркала и соблюдать правила анонимности для безопасных покупок. Таким образом, Кракен маркетплейс остается одним из лидеров в своем сегменте, предоставляя пользователям удобный и безопасный способ совершать сделки. Используйте только проверенные kro34.shop домены и следите за обновлениями, чтобы оставаться в курсе новых возможностей площадки. 1. Основной клир для поиска безопасных ссылок, вход: darkstore.cc 2. Клир домен Kraken: kro34.shop 3. Официальный сайт: captcha-kra34.cc