Hola a todos que tengan buen dia, estoy haciendo un menú recursivo,las funciones que utilizó para obtener los valores de las tablas me funcionan bien pero a la hora de darle diseño me esta fallando, no se si alguien me podría aconsejar sobre como corregir mis funciones
<?php
Función para obtener todos los padres principales
function obtener_padres(){
#Declaramos una variable la cual retornara como string
$html="";
#Conexión a la base de datos
$mysqli = new mysqli("localhost","root","","sigep");
#Consulta para obtener los padres que en la tabla de relacion su valor sea nulo
$sql="select main.id_unico,main.nombre from gs_menu main left join gs_menu_aso maso on maso.menuhijo=main.id_unico where maso.id_unico is null";
$result=$mysqli->query($sql);
#obtenemos los valores devueltos por la consulta
while ($row= mysqli_fetch_row($result)){
#Armado de html dinamico
$html.= '<li id="'.str_replace(' ', '', $row[1]).'"><a class="btn">'.$row[1].'</a>';
$html.= obtener_hijos($row[0]);
$html.= '</li>';
}
#Retorna un html
return $html;
}
function obtener_hijos($padre){
#Declaramos una variable la cual retornara como string
$html="";
#Conexión a la base de datos
$mysqli = new mysqli("localhost","root","","sigep");
#Consulta para obtener los hijos
$sql="select main.id_unico,main.nombre from gs_menu main left join gs_menu_aso maso on maso.menuhijo=main.id_unico where maso.menupadre=$padre";
$result=$mysqli->query($sql);
#obtenemos los datos devueltos
while ($row= mysqli_fetch_row($result)){
#Armado de html dinamico
$html.= '<ul>';
$html.= "<li>$row[1]";
$html.= obtener_hijos($row[0]);
$html.= '</li>';
$html.= '</ul>';
}
#Retorna html
return $html;
}
?>
<nav id="main" class="collapse navbar-collapse">
<ul role="navigation">
<?php
#Impresión de la función para obtener los padres
echo obtener_padres();
?>
</ul>
</nav>
los datos los obtengo de dos tablas la primera se llama gs_menu en la que inserto solo el nombre
y la tabla gs_menu_asociado la cual es la tabla en que relaciono los menus padre con los menus hijos
, y tambien pido ayuda para implementar un diseño responsivo como menú ya que he estado fallado constantemente en la inclusión, gracias por su atención