Hola buen dia, me encuentro trabado en un problema y es que necesito hacer un menu que tenga ilimitados submenus y que estos tambien tengan ilimitados menus.
Ejemplo:
Menu principal
SubMenu
SubMenu
Menu del Submenu
Submenu
Menu del Submenu
Otro Submenu
Osea la idea es que tampoco sean estaticos sino que tambien se puedan insertar y eliminar.
Yo tengo algo hecho pero solo logro hacer submenus.
Aca esta mi codigo:
Código PHP:
$conn = new PDO('mysql:host='.$db['host'].';dbname='.$db['name'], $db['user'],$db['pass']);
$query = "SELECT * FROM menus WHERE menu_owner=0";
$menu = $conn->prepare($query);
$menu->execute();
$retorno = $menu->fetchall(PDO::FETCH_OBJ);
foreach($retorno as $obj)
{
$querya = "SELECT * FROM menus WHERE menu_owner=".$obj->menu___id;
$smenu = $conn->prepare($querya);
$smenu->execute();
$sretorno = $smenu->fetchall(PDO::FETCH_OBJ);
$obj->menu_sub = $sretorno;
}
echo json_encode($obj);
Esta es mi DB
Código:
menu___id menu_name menu_owner
1 Comercios 0
2 Panaderias 1
3 Electrodomesticos 1
5 Electronica 3
6 Hogar 3
Y este es el resultado:
Código:
{"menu___id":"1","menu_name":"Comercios","menu_owner":"0","menu_sub":[{"menu___id":"2","menu_name":"Panaderias","menu_owner":"1"},{"menu___id":"3","menu_name":"Electrodomesticos","menu_owner":"1"}]}
Osea mi idea es hacer una consulta general y hacer una sub consulta por cada submenu pero solo logro hacerla de un nivel.
Creo que tambien deveria una manera de hacerlo solo con SQL pero cualquier forma que pueda hacerlo me serviria.
Muchas Gracias