Ver Mensaje Individual
  #3 (permalink)  
Antiguo 31/07/2012, 22:07
Avatar de kahlito
kahlito
Colaborador
 
Fecha de Ingreso: marzo-2003
Ubicación: En el Estrecho y el mar
Mensajes: 2.936
Antigüedad: 21 años, 10 meses
Puntos: 65
Respuesta: Error al cambiar un array normal dentro de una clase por un ArrayObject

Hola GatorV

Lo he cambiado y ahora si me da el menu para crear el for con valid, current, key y demás, sin embargo el resultado ahora es de :

0-Array
1-Array

He cambiado esta linea:

Código PHP:
public function __construct()
    {
        
//$this->evento=array();
        
$this->evento= new ArrayObject();
         
    } 
y lo llamo asi:

Código PHP:
$obj_e = new Eventos();
try
{
//aqui colocaremos el código a validar
    
$ver_eventos $obj_e->get_eventos();    
    for(
$iterator $ver_eventos->getIterator(); $iterator->valid();$iterator->next())
     {
        echo 
$iterator->key();
        echo 
"-";
        echo 
$iterator->current();
        echo 
"<br>";
    }    
}
catch(
Exception $e)//aquí ponemos la excepción
{
    
//Aquí pongo los mensajes de error;    
    
Eventos::error();

La clase completa que tengo ahora es esta:

Código PHP:
require_once("class.php");
interface 
Implementacion
{
    public static function 
error();    
}

class 
Eventos implements Implementacion
{    
    
    public static function 
error()
    {
        echo 
"<p class=\"error\">Error interno. Pongase en contacto con el administrador del sistema</p>";
    }
    public function 
__construct()
    {
        
//$this->evento=array();
        
$this->evento= new ArrayObject();
         
    }
    
    public function 
get_eventos()
    {
        
$sql="Select * from eventos";
        
$res=mysql_query($sqlConectarBd::conectar());        
        if(!
$res)
        {
            throw new 
Exception ("Error en la consulta:"mysql_error());            
        }        
        while(
$reg=mysql_fetch_assoc($res))
        {                
            
$this->evento[]=$reg;
        }
            return 
$this->evento;
    }    
    

¿Que me falta por añadir? Gracias por la ayuda, saludos