Cita:
Iniciado por arcanisgk122
si estas trabajando con my sql la base de datos puede ser de esta clase:
Código PHP:
Ver originalnombre nivel relacion
menu1 0 0 //esto general la cabeza del menu
submenu1 1 1 //indica que pertenece al menu 1
art-lista 1 2 //indica que pertenece al menu 1 pero debe ir debajo de submenu1 como hijo
art-lista 1 2 //indica que pertenece al menu 1 pero debe ir debajo de submenu1 como hijo
submenu2 2 1 //indica que pertenece al menu 1
art-lista 2 2 //indica que pertenece al menu 1 pero debe ir debajo de submenu2 como hijo
art-lista 2 2 //indica que pertenece al menu 1 pero debe ir debajo de submenu2 como hijo
la mejor forma es recorrerlo con ciclos for o while y guardarlos en un array y ir construyendo el menu.
al hacerlo con ciclos seria ilimitado al tamaño de la base de datos.
Si el tema que no me sale es el de como hacer los ciclos, osea mi logica es recorrer los resultados con un foreach y ver si es un subitem añadirlo al item principal dentro del array que creo, el tema es que tengo que hacer esa funcion indefinidas veces.
Osea
Código PHP:
$conn = new PDO('mysql:host='.$db['host'].';dbname='.$db['name'], $db['user'],$db['pass']);
$query = "SELECT * FROM menus";
$menu = $conn->prepare($query);
$menu->execute();
$retorno = $menu->fetchall(PDO::FETCH_OBJ);
$rmenu = array();
foreach ($retorno as $obj)
{
if($obj->menu_owner != '0')
{
//Hago una subconsulta y lo añado al array
}
}
echo json_encode($rmenu);
El problema es cuando halla muchos subitems, no entiendo como hacer el ciclo indefinidamente siempre que halla subitems dentro de los anteriores subitems