Ver Mensaje Individual
  #4 (permalink)  
Antiguo 29/03/2018, 11:49
Avatar de after
after
 
Fecha de Ingreso: junio-2006
Ubicación: De marte
Mensajes: 791
Antigüedad: 17 años, 11 meses
Puntos: 10
Respuesta: While con dos querys asociados

Bueno, lo llevo así:

Código PHP:
Ver original
  1. <?php
  2.     class DriveDB {
  3.         public $db_connect;
  4.  
  5.         function __construct($ip_host, $username, $password, $db) {
  6.             if (!$this->db_connect = new mysqli($ip_host, $username, $password, $db))
  7.                 echo "No hay conexión";
  8.         }
  9.  
  10.         public function enlaces($X){
  11.             $a = $this->db_connect->query("SELECT * FROM enlaces WHERE codigo = '".$X."';");
  12.  
  13.             if($a->num_rows > 0)
  14.                 return $a->fetch_array(MYSQLI_ASSOC);
  15.  
  16.             return false;
  17.         }
  18.  
  19.         public function paneles(){
  20.             $a = $this->db_connect->query("SELECT * FROM paneles;");
  21.  
  22.             if($a->num_rows > 0)
  23.                 return $a->fetch_array(MYSQLI_ASSOC);
  24.  
  25.             return false;
  26.         }  
  27.     }
  28.  
  29.     $Instancia  = new DriveDB("localhost", "root", "roor", "flix");
  30.     $paneles    = $Instancia->paneles();
  31.  
  32. $paneles = paneles();
  33.  
  34.     if($paneles){
  35.             //Inicio la lista Principal
  36.             echo "<ul>";
  37.         foreach($paneles as $item){
  38.             //Inicio el Item de la Lista
  39.             echo "<li>".$item['titulo'];
  40.             $enlaces = enlaces($item['codigo']);
  41.             //Valido si hay enlaces para el codigo
  42.             if($enlaces){
  43.                 //Si Hay enlaces inicio la sublista del item
  44.                 echo "<ul>";
  45.                 //Recorro los enlaces retornados
  46.                 foreach($enlaces as $en){
  47.                     //Agrego las URL
  48.                     echo "<li>".$en['url']."</li>";
  49.                 }
  50.                 //Cierro la sub lista
  51.                 echo "</ul>";
  52.             }else{
  53.                 //Si no hay URLs indico el mensaje
  54.                 echo "<li>Sin Enlaces para este panel</li>";
  55.             }
  56.             //Cierro el item principal
  57.             echo "</li>";
  58.         }
  59.         //Cierro la lista Completa
  60.         echo "</ul>";
  61.  
  62.     }else{
  63.         //Si no hay paneles muestro el mensaje
  64.         echo "No hay paneles que mostrar";
  65.     }
  66. ?>


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']);
__________________
@ivancamiloGo