Foros del Web » Programando para Internet » PHP »

Salida por array db

Estas en el tema de Salida por array db en el foro de PHP en Foros del Web. Hola He creado esta consulta para una bade de datos: Código: $db=Database::getInstance(); $date = $_GET['date']; $db->setQuery("SELECT * FROM `webcal_entry` WHERE `cal_id` = '$id'"); $res = ...
  #1 (permalink)  
Antiguo 16/06/2012, 10:39
 
Fecha de Ingreso: marzo-2009
Mensajes: 395
Antigüedad: 15 años, 1 mes
Puntos: 11
Salida por array db

Hola

He creado esta consulta para una bade de datos:

Código:
$db=Database::getInstance();
$date = $_GET['date'];

$db->setQuery("SELECT * FROM `webcal_entry` WHERE `cal_id` = '$id'");
$res = $db->loadObjectList();
foreach(array($res) as $r){
echo $r;
}
donde en la clase Database, la función loadObjectList() es de la forma:

Código:
public function loadObjectList(){   
        if ( ! ( $cur = $this->execute() ) ){   
            return null;   
        }   
        $array = array();   
        while ( $row = @mysql_fetch_object( $cur ) ){   
            $array[] = $row;   
        }   
        return $array;   
    }
El caso es que quiero con el foreach que todo quede recogido en un array, pero no lo consigo. como tengo que hacerlo?

He probado ya a poner foreach($res as $r) pero da error, y echo $r[], pero también da error y no recorre el array.

Gracias
  #2 (permalink)  
Antiguo 16/06/2012, 11:22
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 4 meses
Puntos: 51
Respuesta: Salida por array db

Cual es el error que te da con el foreach?
  #3 (permalink)  
Antiguo 16/06/2012, 11:26
Avatar de fjrueda  
Fecha de Ingreso: marzo-2008
Ubicación: Bucaramanga
Mensajes: 313
Antigüedad: 16 años, 1 mes
Puntos: 35
Respuesta: Salida por array db

Gothgauss ...

Dos cosas que sepodrian reemplazar en
Código PHP:
$array[] = $row
1) tiene que concatenar la variable "$array" (sugiero que le cambie el nombre a la variable)
Código PHP:
$array[] += $row
2) esta opción es la que yo mas recomendaría, existe una funcion en PHP que se llama "array_splice()" o "array_merge()" que permiten agregar un elemento a un array previamente definido.

le doy un link para que busque mas infrmacion
http://www.php.net/manual/es/ref.array.php
  #4 (permalink)  
Antiguo 16/06/2012, 12:27
 
Fecha de Ingreso: marzo-2009
Mensajes: 395
Antigüedad: 15 años, 1 mes
Puntos: 11
Respuesta: Salida por array db

Pues he cambiado en la clase lo que me dijiste:

Código:
  public function loadObjectList(){   
        if ( ! ( $cur = $this->execute() ) ){   
            return null;   
        }   
        $array = array();   
        while ( $row = @mysql_fetch_object( $cur ) ){   
            $array[] += $row;   
        }   
        return $array;   
    }
y en el foreach he puesto

Código:
foreach($res as $r){
echo $r;
}
pero por pantalla ahora sólo me imprime el número "1", no se porque.

y si cambio el foreach por:
Código:
foreach($res as $r){
echo $r[];
}
me sale el siguiente error :


Fatal error: Cannot use [] for reading in /home/provisio/public_html/acceso-privado/agenda-123/view_entry.php on line 14
  #5 (permalink)  
Antiguo 16/06/2012, 16:57
Avatar de fjrueda  
Fecha de Ingreso: marzo-2008
Ubicación: Bucaramanga
Mensajes: 313
Antigüedad: 16 años, 1 mes
Puntos: 35
Respuesta: Salida por array db

Intentlo asi :

Código PHP:
public function loadObjectList()
{
    if(!(
$cur $this->execute()))
    {   
         return 
null;   
    }
   
    
$estearray = array();   

    while(
$row = @mysql_fetch_object($cur))
    {
        
array_push($estearray$row);
    }   
        
    return 
$estearray;   

Me cuenta que resultado le da eso.

Última edición por fjrueda; 16/06/2012 a las 17:05

Etiquetas: mysql, salida
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 13:08.