Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/04/2016, 06:03
ilu7ionHD
Invitado
 
Mensajes: n/a
Puntos:
No puedo detectar el problema

Hola, que tal? tengo mi registro.php donde quiero que liste los estados.
Esta función andaba bien, pero no me gusto, considero que no es correcto que desde la primer capa se llame a sql.php.

Código PHP:
Ver original
  1. <select form="formareg" class="selector" name="estados">
  2.                         <option value="0">Elija su estado</option>
  3.                         <?php
  4.                         //    include 'sql.php';
  5.                             $db = new Sql();
  6.                             $consulta="SELECT id, nombre FROM estados";
  7.                             $res = $db->query($consulta);
  8.                            
  9.                             while($row = $db->recorrer($res))
  10.                             {  
  11.                                 echo "<option value = '".$row['id']."'>";
  12.                                 echo $row['nombre'];
  13.                                 echo "</option>";    
  14.                             }
  15.                         ?>
  16.             </select>
Nota: recorrer() que se encuentra en Sql.php es el mysqli_fetch_array

Ahora les mostraré la función que quiero para mi código PERO no puedo hacer andar

Código PHP:
Ver original
  1. <select form="formareg" class="selector" name="estados">
  2.                         <option value="0">Elija su estado</option>
  3.                          <?php
  4.                             require_once 'Logica.php';
  5.                             $logica = new Logica();
  6.                             $estados = $logica->listarEstados();
  7.                             $i = 0;
  8.                             while($estados[$i] != null)
  9.                             {  
  10.                                 echo "<option value = '".$estados[$i][0]."'>";
  11.                                 echo $estados[$i][1];
  12.                                 echo "</option>";
  13.                                 $i++;
  14.                             }
  15.                         ?>
  16.                            
  17.  
  18.                      
  19.             </select>

Código PHP:
Ver original
  1. public function listarEstados()
  2.         {
  3.           require_once 'sql.php';
  4.           $db = new Sql();
  5.           $sentencia = "SELECT id, nombre, descripcion FROM estados;";
  6.           $sql = $db->query($sentencia);
  7.           $db->cerrarConexion();
  8.             if ($db->rows($sql) > 0)
  9.             {
  10.               $array = $db->recorrerTodo($sql);
  11.               return $array;
  12.             }
  13.           else
  14.               {
  15.                  header('location: Registro.php?error=no_hay_estados');
  16.               }
  17.         }

Nota: