Primeramente te digo que estas utilizando mysql y es mala idea, ya que esa libreria esta depreciada y te va a dar problemas a futuro.
Por otro lado, prueba utilizando 2 funciones para la tarea, por ejemplo:
Código PHP:
Ver originalfunction enlaces($X){
$a = $this->db->query("SELECT * FROM enlaces WHERE codigo = '$X'");
if($a->num_rows()>=1){
return $a->fetch_array();
}else{
return false;
}
}
function paneles(){
$a = $this->db->query("SELECT * FROM paneles");
if($a->num_rows()>=1){
return $a->fetch_array();
}else{
return false;
}
}
$paneles = paneles();
if($paneles){
//Inicio la lista Principal
echo "<ul>";
foreach($paneles as $item){
//Inicio el Item de la Lista
echo "<li>".$item['titulo'];
$enlaces = enlaces($item['codigo']);
//Valido si hay enlaces para el codigo
if($enlaces){
//Si Hay enlaces inicio la sublista del item
echo "<ul>";
//Recorro los enlaces retornados
foreach($enlaces as $en){
//Agrego las URL
echo "<li>".$en['url']."</li>";
}
//Cierro la sub lista
echo "</ul>";
}else{
//Si no hay URLs indico el mensaje
echo "<li>Sin Enlaces para este panel</li>";
}
//Cierro el item principal
echo "</li>";
}
//Cierro la lista Completa
echo "</ul>";
}else{
//Si no hay paneles muestro el mensaje
echo "No hay paneles que mostrar";
}