Foros del Web » Programando para Internet » PHP »

No puedo detectar el problema

Estas en el tema de No puedo detectar el problema en el foro de PHP en Foros del Web. 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 ...
  #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:
  #2 (permalink)  
Antiguo 15/04/2016, 07:27
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: No puedo detectar el problema

Te hago una consulta. Si estoy en un automóvil, enciendo con mi llaves, luego apago el motor, cierro las puertas bloqueandolas, y dejando la llave dentro del automóvil.. ¿dónde podría ir?

Vi uno de tus post y creo que no conoces de PHP, por lo que deduzco es que esperas que aparezca alguien con una solución mágica a tu problema.

Pero si no es así, deberías aportar que error te genera, y no cerrar tu conexión antes de que se ejecute la consulta de la BD... eso es como el ejemplo que te expuse más arriba.

Recuerda que solo tú estás en tu máquina, no sabemos como reacciona tu código...
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...

Etiquetas: mysql, registro, select, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:06.