proszę Was o pomoc przy napisaniu kodu PHP, generującego menu wielopoziomowe zapisane w bazie danych mySQL.
Struktura tabeli mySQL:
pageID object dir name menu superior position status 2 system chat Czat z klientem 1 1 01 1 3 system messages Wiadomości 1 1 02 1 5 system messages Wiadomości mailingowe 1 4 01 1 6 system emails Baza adresów mailingowych 1 4 02 1 7 system groups Grupy mailingowe 1 4 03 1 8 system notifications Powiadomienia 1 NULL 02 1 9 system orders Zamówienia 1 NULL 03 1 10 system servers Serwery 1 NULL 04 1 11 system files Pliki 1 NULL 05 1 12 system base Baza plików 1 11 01 1 13 system manager Menadżer plików 1 11 02 1 14 system download Dział download 1 11 03 1 15 system pages Podstrony 1 NULL 06 1 16 system service Strony serwisu 1 15 01 1 18 system add Dodaj stronę statyczną 1 17 01 1 20 system reports Raporty 1 19 01 1 21 system backups Backupy 1 19 02 1 22 system stats Statystyki 1 19 03 1 23 system profile Mój profil 1 19 04 1 24 system users Użytkownicy 1 19 05 1 25 system admins Administracja 1 19 06 1 26 system visitors Goście 1 19 07 1 27 system modules Moduły 1 19 08 1
Tak powinno wyglądać wygenerowane drzewo:
Korespondencja Czat z klientem Wiadomości System mailingowy Wiadomości mailingowe Baza adresów mailingowych Grupy mailingowe Powiadomienia Zamówienia Serwery Pliki Baza plików Menadżer plików Dział download Podstrony Strony serwisu Strony statyczne Dodaj stronę statyczną System Raporty Backupy Statystyki Mój profil Użytkownicy Administracja Goście Moduły Konfiguracja
Aktualny kod PHP:
$list_menu = null; $query = safe_query("SELECT * FROM `".PREFIX."pages` WHERE status='1' AND object='system' ORDER BY position ASC"); $count = mysql_fetch_array(safe_query("SELECT count(pageID) as max FROM `".PREFIX."pages` WHERE status='1' AND object='system' AND superior='".$dx['pageID']."'")); if($count['max'] > 0) { $list_menu .= '<li>'.$dx['name'].'<ul>'; $query2 = safe_query("SELECT * FROM `".PREFIX."pages` WHERE status='1' AND object='system' AND superior='".$dx['pageID']."' ORDER BY position ASC"); $list_menu .= '<li>'.$dx2['name'].'</li>'; } $list_menu .= '</ul></li>'; $list_menu .= '<li>'.$dx['name'].'</li>'; } }
Aktualny kod nie generuje mi drzewo tylko do takiej postaci:
Korespondencja Czat z klientem Wiadomości System mailingowy Powiadomienia Zamówienia Serwery Pliki Baza plików Menadżer plików Dział download Podstrony Strony serwisu Strony statyczne System Raporty Backupy Statystyki Mój profil Użytkownicy Administracja Goście Moduły Konfiguracja
więc jak widać są tylko dwa poziomy.
Dodam, że w komórce "superior" zdefiniowałem ID nadrzędnego rekordu.
Czy ma ktoś z Was jakieś pomysły ?
Za wszelką pomoc będę bardzo wdzięczny,
Serdecznie pozdrawiam.
---------
JUŻ SOBIE PORADZIŁEM

Można usunąć temat...