Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/04/2013, 16:11
Avatar de guardarmicorreo
guardarmicorreo
 
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 5 meses
Puntos: 84
problema al recorrer array con for

estoy aprendiendo la programación orientada a objetos con php. en este caso la consulta a base de datos con clases.
he creado estos dos códigos y no imprime en pantalla el valor que hay en la base de datos, no entiendo dónde está el error. si alguien puede ayudarme se lo agradezco.

index.php

aquí un usuario solo puede consultar las habitaciones de hotel que dispone


Código PHP:
Ver original
  1. <div>
  2.         <form method="post" action="index.php">
  3.             <select name="habitaciones">
  4.                 <option value="simple">Habitación individual</option>
  5.                 <option value="doble">Habitación doble</option>
  6.                 <option value="triple">Habitación triple</option>
  7.                 <option value="cuadruple">Habitación cuadruple</option>
  8.             </select>
  9.             <input type="submit" name="enviar_plazas" value="Enviar">
  10.         </form>
  11.     </div>
  12.     <?php
  13.     if (isset($_POST['enviar_plazas'])) //si existe el boton enviar_plazas
  14.     {
  15.         //instancia un nuevo objeto Plazas pasándole dos valores
  16.         $rest = new Plazas($_SESSION['usuario'], $_POST['habitaciones']);
  17.         $plazas = $rest->consultabd();
  18.         for ($i = 0; $i < sizeof($plazas); $i++) //creo que es aquí donde está el problema pero no //estoy seguro
  19.         {
  20.             echo $plazas;
  21.         }
  22.      }
  23.     ?>

clases.php

aquí realizo la consulta a base de datos asignando la consulta a una variable que retornaré al index.php

Código PHP:
Ver original
  1. <?php
  2. //esta es la clase conectar que recibiendo parámetros realiza las consultas
  3. class Conectar
  4. {
  5.  
  6.     public static function conexion($TextoSQL)
  7.     {
  8.         $IDConexion = mysql_connect("localhost", "root", "");
  9.  
  10.         mysql_select_db("hoteles", $IDConexion);
  11.  
  12.         $IDConsulta = mysql_query($TextoSQL, $IDConexion) or die(mysql_error());
  13.  
  14.         if ($IDConsulta == false)
  15.         {
  16.             echo "ERROR: <br>\n";
  17.             echo mysql_error($IDConexion);
  18.         }
  19.  
  20.         return $IDConsulta;
  21.     }
  22.  
  23. }
  24.  
  25. //esta es la clase Plazas
  26. class Plazas
  27. {
  28.     //declaro las variables que usaré como privadas
  29.     private $usuario;
  30.     private $resultado_consulta = array();
  31.     private $tipo_habita;
  32.      //constructor que recibe los parámetros del index.php
  33.     public function __construct($user, $habi, $num)
  34.     {
  35.         $this->usuario = $user;
  36.         $this->tipo_habita = $habi;
  37.        
  38.     }
  39.     //aquí se realiza la consulta a la base de datos según los parámetros
  40.     public function consultabd()
  41.     {
  42.         $consulta = "SELECT usuario, " . $this->tipo_habita . " FROM usuarios, habitaciones WHERE (usuario='" . $this->usuario . "' AND " . $this->tipo_habita . " ='" . $this->tipo_habita . "')";
  43.         $result_conexion = Conectar::conexion($consulta);
  44.         while ($fila = mysql_fetch_array($result_conexion))
  45.         {
  46.             $this->resultado_consulta[] = $fila[$this->tipo_habita]; //asigno a la variable //resultado_consulta el resultado de la consulta
  47.         }
  48.         return $this->resultado_consulta;
  49.     }
  50.  
  51. }

gracias! :)