Сортировка результатов MySQL для создания многоуровневого выпадающего меню - PullRequest
0 голосов
/ 17 июня 2009

Я просто озадачен здесь. Может быть, потому что это конец дня, я не знаю. Я использую PHP, чтобы получить элементы из базы данных MySQL. Я просто ищу помощь PHP. У меня есть HTML и CSS сделано. Вот основная структура БД. Это вложенный набор, кстати. Представьте, что мои левое и правое значения для вложенного набора уже отсортированы в MySQL, что оставляет меня с глубиной.

----------------------------------------
| id | title | sequence_number | depth |
----------------------------------------
| 1  | A     | 1               | 1     |
| 2  | B     | 2               | 1     |
| 3  | C     | 1               | 2     |
| 4  | D     | 3               | 1     |
| 5  | E     | 4               | 1     |
| 6  | F     | 2               | 2     |
| 7  | A     | 1               | 3     |
| 8  | B     | 5               | 1     |
| 9  | C     | 3               | 2     |
| 10 | D     | 2               | 3     |
| 11 | E     | 6               | 1     |
| 12 | F     | 4               | 2     |
----------------------------------------

Теперь, если этого недостаточно, чтобы запутать вас, продолжайте читать. Я использую цикл foreach для циклического прохождения каждого элемента и сортировки вручную таким образом. Проблема в том, что меню в конечном итоге перейдет на 3 уровня, что застревает, потому что мой цикл только для двух уровней. Кто-нибудь может помочь мне отсортировать этот массив?

1 Ответ

0 голосов
/ 17 июня 2009

вы можете использовать рекурсивную функцию

например, Выполните цикл с глубиной, установленной на 1, затем повторно вызовите функцию с глубиной, установленной как глубина + 1

это помогает? Джош

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...