Bueno, lo llevo así:
Código PHP:
Ver original<?php
class DriveDB {
public $db_connect;
function __construct($ip_host, $username, $password, $db) {
if (!$this->db_connect = new mysqli($ip_host, $username, $password, $db))
echo "No hay conexión";
}
public function enlaces($X){
$a = $this->db_connect->query("SELECT * FROM enlaces WHERE codigo = '".$X."';");
if($a->num_rows > 0)
return $a->fetch_array(MYSQLI_ASSOC);
return false;
}
public function paneles(){
$a = $this->db_connect->query("SELECT * FROM paneles;");
if($a->num_rows > 0)
return $a->fetch_array(MYSQLI_ASSOC);
return false;
}
}
$Instancia = new DriveDB("localhost", "root", "roor", "flix");
$paneles = $Instancia->paneles();
$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";
}
?>
Pero me da el siguiente error:
Warning: Illegal string offset 'titulo' in on line 37
la línea es: echo "<li>".$item['titulo'];
Fatal error: Call to undefined function enlaces()
la línea es: $enlaces = enlaces($item['codigo']);