Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Mostrar Objeto Array

Estas en el tema de Mostrar Objeto Array en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola que tal, tengo un array de objetos y necesito mostrar un dato de cada objeto .. en este caso traigo una lista de ciudades... ...
  #1 (permalink)  
Antiguo 15/05/2011, 16:08
Avatar de leo_nqn  
Fecha de Ingreso: abril-2010
Ubicación: Neuquen
Mensajes: 461
Antigüedad: 14 años
Puntos: 24
Mostrar Objeto Array

Hola que tal, tengo un array de objetos y necesito mostrar un dato de cada objeto .. en este caso traigo una lista de ciudades... con ID y Nombre.. lo estoy haciendo de esta manera pero me da error error y error!!

Código:
<select>

                $ciudad = new ciudadControlador();
                $listaciudad = $ciudad->Listar();

                foreach($listaciudad as $ciudad=>$valor);
                {
                    echo "<option value='$valor->id'>$valor->nombre_ciudad</option>";
                } ?>
            </select>
Si alguien encuentra el error o sabe la manera correcta de imprimir el array en un combo lo agradeceria! saludos!
__________________

Blog: http://leonardonqn.blogspot.com
Twitter:@Leo_FFerreyra
  #2 (permalink)  
Antiguo 15/05/2011, 17:14
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Mostrar Objeto Array

Podrías hacer un var_dump($listaciudad) para ver sus datos?

Saludos.
  #3 (permalink)  
Antiguo 15/05/2011, 18:14
Avatar de leo_nqn  
Fecha de Ingreso: abril-2010
Ubicación: Neuquen
Mensajes: 461
Antigüedad: 14 años
Puntos: 24
Array de Objetos

Hola que tal... tengo un problema.. no se si estoy llenando mal el array o no me retorna... pero esto me tendria que devolver 15 ciudades y 15 ID .. las ciudades y los ID aparecen por que hice un echo y los veo.. el problema esta con el array.. no se si cuando lo armo o cuando lo retorno... necesito saber si alguien me dice si es que se retorna asi un array y si se llena asi! espero respuestas y propuestas! saludos y gracias!

Código:
public function Listar()
    {
        $lista = array();
        $db = new Conectar();
        $consulta = $db->consulta("SELECT * FROM ciudad");
        $i = 0;
        if($db->num_rows($consulta) > 0)
        {
            
            while($resultado = $db->fetch_array($consulta))
            {
                $ciudad = new ciudad($resultado['id_ciudad'], $resultado['nombre_ciudad']);
                $lista[$i] = $ciudad;
                $i++;
            }
            
        }
       return $lista;
        
    }
__________________

Blog: http://leonardonqn.blogspot.com
Twitter:@Leo_FFerreyra
  #4 (permalink)  
Antiguo 15/05/2011, 19:02
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Mostrar Objeto Array

Muestra tu objeto Ciudad para ver que datos tiene.

Saludos.
  #5 (permalink)  
Antiguo 15/05/2011, 19:12
Avatar de leo_nqn  
Fecha de Ingreso: abril-2010
Ubicación: Neuquen
Mensajes: 461
Antigüedad: 14 años
Puntos: 24
Respuesta: Mostrar Objeto Array

Trae si yo lo muestro dentro del fetch array muestra cada una de las ciudades.. el problema es con el array..Cuando termina la carga de los objeto en el array como se ve en el codigo... Trato de mostrar con un foreach y me muestra una sola ciudad LA ULTIMA.. y se ve en el codigo fuente que no esta cerrado php ?> osea que hay un problema con este array de objetos.. ya no se que probar jajaja pero bueno voy a seguir insistiendo, si alguien tiene alguna idea lo agradeceria ... saludos!
__________________

Blog: http://leonardonqn.blogspot.com
Twitter:@Leo_FFerreyra
  #6 (permalink)  
Antiguo 15/05/2011, 19:30
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Mostrar Objeto Array

Primero deberías encontrar donde esta fallando exactamente, imprimi el array $lista antes del return a ver si tiene todo lo que debería.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #7 (permalink)  
Antiguo 15/05/2011, 19:38
Avatar de leo_nqn  
Fecha de Ingreso: abril-2010
Ubicación: Neuquen
Mensajes: 461
Antigüedad: 14 años
Puntos: 24
Respuesta: Mostrar Objeto Array

ya lo hice... y despues del while... si imprimo $lista me tira solo 1 dato.. el ultimo! y no se por que!
__________________

Blog: http://leonardonqn.blogspot.com
Twitter:@Leo_FFerreyra
  #8 (permalink)  
Antiguo 15/05/2011, 19:39
Avatar de leo_nqn  
Fecha de Ingreso: abril-2010
Ubicación: Neuquen
Mensajes: 461
Antigüedad: 14 años
Puntos: 24
Respuesta: Mostrar Objeto Array

Esto:
Código:
public function Listar()
    {
        
        $lista = array();
        $db = new Conectar();
        $consulta = $db->consulta(" SELECT * FROM ciudad ");
        
        
        if($db->num_rows($consulta) > 0)
        {
            $i = 0;
            while($resultado = $db->fetch_array($consulta))
            {
                $ciudad = new ciudad($resultado['id_ciudad'], $resultado['nombre_ciudad']);
                $lista[$i] = $ciudad;
                $i++;                
            }
            foreach($lista as $ciudades=>$valor);
                {                  
                    echo $valor->nombre_ciudad;
                    echo $valor->id;
                }
            return $lista;
        }
       
        
    }
Me muestra esto:
15Zapala
__________________

Blog: http://leonardonqn.blogspot.com
Twitter:@Leo_FFerreyra
  #9 (permalink)  
Antiguo 15/05/2011, 20:04
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Mostrar Objeto Array

A ver proba sin $i, algo así:

Código PHP:
Ver original
  1. public function Listar()
  2. {  
  3.     $db = new Conectar();
  4.     $consulta = $db->consulta(" SELECT * FROM ciudad ");
  5.    
  6.     $lista = array();
  7.    
  8.     if($db->num_rows($consulta) > 0) {    
  9.         while($resultado = $db->fetch_array($consulta)) {
  10.             $lista[] = new ciudad($resultado['id_ciudad'], $resultado['nombre_ciudad']);            
  11.         }
  12.     }
  13.     print_r($lista);
  14.     return $lista;  
  15. }

y podes postear el constructor de ciudad ?
__________________
http://es.phptherightway.com/
thats us riders :)
  #10 (permalink)  
Antiguo 15/05/2011, 20:11
Avatar de leo_nqn  
Fecha de Ingreso: abril-2010
Ubicación: Neuquen
Mensajes: 461
Antigüedad: 14 años
Puntos: 24
Respuesta: Mostrar Objeto Array

Esta es la clase ciudad..
Código:
class ciudad {
    public $id;
    public $nombre_ciudad;
    
    function __construct($Id,$Ciudad) {
        $this->id = $Id;
        $this->nombre_ciudad = $Ciudad;
    }
}
__________________

Blog: http://leonardonqn.blogspot.com
Twitter:@Leo_FFerreyra
  #11 (permalink)  
Antiguo 15/05/2011, 20:17
Avatar de leo_nqn  
Fecha de Ingreso: abril-2010
Ubicación: Neuquen
Mensajes: 461
Antigüedad: 14 años
Puntos: 24
Respuesta: Mostrar Objeto Array

Me muestra esto... osea que la lista se arma.. ahora no entiendo que pasa!
} ?> Array ( [0] => ciudad Object ( [id] => 1 [nombre_ciudad] => Alumine ) [1] => ciudad Object ( [id] => 2 [nombre_ciudad] => Caviahue ) [2] => ciudad Object ( [id] => 3 [nombre_ciudad] => Chos Malal ) [3] => ciudad Object ( [id] => 4 [nombre_ciudad] => Copahue ) [4] => ciudad Object ( [id] => 5 [nombre_ciudad] => Cutral Co ) [5] => ciudad Object ( [id] => 6 [nombre_ciudad] => Junin de los Andes ) [6] => ciudad Object ( [id] => 7 [nombre_ciudad] => Piedra del Aguila ) [7] => ciudad Object ( [id] => 8 [nombre_ciudad] => Plaza Huincul ) [8] => ciudad Object ( [id] => 9 [nombre_ciudad] => Neuquen ) [9] => ciudad Object ( [id] => 10 [nombre_ciudad] => San Martin de los Andes ) [10] => ciudad Object ( [id] => 11 [nombre_ciudad] => Villa la Angostura ) [11] => ciudad Object ( [id] => 12 [nombre_ciudad] => Villa el Chocon ) [12] => ciudad Object ( [id] => 13 [nombre_ciudad] => Villa Pehuenia ) [13] => ciudad Object ( [id] => 14 [nombre_ciudad] => Villa Traful ) [14] => ciudad Object ( [id] => 15 [nombre_ciudad] => Zapala ) )
__________________

Blog: http://leonardonqn.blogspot.com
Twitter:@Leo_FFerreyra
  #12 (permalink)  
Antiguo 15/05/2011, 20:29
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Mostrar Objeto Array

Prueba iterar así:
Código PHP:
Ver original
  1. foreach ($lista as $ciudad) {
  2.       echo $ciudad->id . " " . $ciudad->valor;
  3. }

Saludos.
  #13 (permalink)  
Antiguo 15/05/2011, 20:35
Avatar de leo_nqn  
Fecha de Ingreso: abril-2010
Ubicación: Neuquen
Mensajes: 461
Antigüedad: 14 años
Puntos: 24
Respuesta: Mostrar Objeto Array

No te puedo creer.. anda! y no entiendo cual es la diferencia.. osea la veo pero no la entiendo.. cual fue el error???
__________________

Blog: http://leonardonqn.blogspot.com
Twitter:@Leo_FFerreyra

Etiquetas: objeto, objetos
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 00:37.