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

PHP OO ¿Como hacer un array de Objetos usando Mysql?

Estas en el tema de ¿Como hacer un array de Objetos usando Mysql? en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola! Estoy tratado de crear un sitio web, donde necesito obtener informacion de la base de datos, eso, pasarlo a un arraglo de objetos y ...
  #1 (permalink)  
Antiguo 08/11/2011, 18:19
Myl
 
Fecha de Ingreso: agosto-2011
Mensajes: 61
Antigüedad: 13 años, 3 meses
Puntos: 3
¿Como hacer un array de Objetos usando Mysql?

Hola!

Estoy tratado de crear un sitio web, donde necesito obtener informacion de la base de datos, eso, pasarlo a un arraglo de objetos y asi luego recorrerlo y mostrarlo. Cabe destacar que esto lo he hecho el Java ya varias veces, pero al cambiar de lenguaje, me trabe un poco.

Miren, esta es la clase empresa:
Código PHP:
class Empresa {

    private 
$id;
    private 
$cantidadMercancias;
    private 
$fobItem;
    private 
$cifItem;
    private 
$fleteItem;
    private 
$seguroItem;
    private 
$razonSocial;

    function 
getId(){
        return 
$this->id;
    }

    function 
setId($id){
        
$this->id=$id;
    }

    function 
getCantidadMercancias(){
        return 
$this->cantidadMercancias;
    }

    function 
setCantidadMercancias($cantidadMercancias){
        
$this->cantidadMercancias=$cantidadMercancias;
    }

    function 
getFobItem(){
        return 
$this->fobItem;
    }

    function 
setFobItem($fobItem){
        
$this->fobItem->$fobItem;
    }

    function 
getFleteItem(){
        return 
$this->fleteItem;
    }

    function 
setFleteItem($fleteItem){
        
$this->fleteItem=$fleteItem;
    }

    function 
getSeguroItem(){
        return 
$this->seguroItem;
    }

    function 
setSeguroItem($seguroItem){
        
$this->seguroItem=$seguroItem;
    }

    function 
getRazonSocial(){
        return 
$this->razonSocial;
    }

    function 
setRazonSocial($razonSocial){
        
$this->razonSocial=$razonSocial;
    }

    function 
getCifItem(){
        return 
$this->cifItem;
    }

    function 
setCifItem($cifItem){
        
$this->cifItem->$cifItem;
    }

Luego, cree una clase llamada ConsultasSQL:
Código PHP:
class ConsultasSQL {
    private 
$conexion;

    function 
inicializarConexion(){
        
$host "localhost";
        
$dbname "";
        
$dbuser "";
        
$dbpass "";

        
$this->conexion = new mysqli($host$dbuser$dbpass$dbname);

        if (!
$this->conexion) {
            
printf("Connect failed: %s\n"mysqli_connect_error()); exit();

        } 
printf("Host information: %s\n"mysqli_get_host_info($this->conexion));

        return 
$this->conexion;
    }

    function 
getListaEmpresas(){
        
$conexion $this->inicializarConexion();
        
$sql "SELECT SUM(dbImportacionesItemes.intCantidadMercancias), SUM(dbImportacionesItemes.intFobItem), SUM(dbImportacionesItemes.intFleteItem), SUM(dbImportacionesItemes.intSeguroItem), SUM(dbImportacionesItemes.intCifUnitario), dbEmpresas.strRazonSocial, dbEmpresas.idEmpresa
                FROM dbImportacionesItemes
                LEFT JOIN dbImportaciones
                ON dbImportacionesItemes.idImportacion = dbImportaciones.idImportacion
                LEFT JOIN dbEmpresas
                ON dbEmpresas.idEmpresa = dbImportaciones.idImportador
                GROUP BY dbImportaciones.idImportador
                ORDER BY dbEmpresas.strRazonSocial"
;
        
$statement $conexion->prepare($sql);
        
$statement -> execute();
        
$statement -> bind_result($cantidad,$fobI,$fleteI,$seguroI,$cifI,$nombre,$id);
        
$lista = array();
        while(
$statement->fetch()){
            
$empresa = new Empresa();
            
$empresa->setCantidadMercancias($cantidad);
            
$empresa->setFobItem($fobI);
            
$empresa->setFleteItem($fleteI);
            
$empresa->setSeguroItem($seguroI);
            
$empresa->setCifItem($cifI);
            
$empresa->setRazonSocial($nombre);
            
$empresa->setId($id);
            
array_push($lista$empresa);
        }

        return 
$lista;
    }

Ahora intento recorrerlo asi:

Código PHP:
$con = new ConsultasSQL();

    
$lista $con->getListaEmpresas();
    
$empresa = new Empresa();
    foreach(
$lista as $empresa){
        echo 
$empresa->getCantidadMercancias();
    } 
Pero me manda este error:
Fatal error: Class 'ConsultasSQL' not found in C:\xampp\htdocs\aduana\paginaPO.php on line 2

No se si lo que he hecho esta bien, como dije, todo lo que estoy haciendo esta basado en lo que hago en Java.

Agradeceria me puedan guiar un poco
De antemano muchas gracias.
  #2 (permalink)  
Antiguo 08/11/2011, 18:35
Myl
 
Fecha de Ingreso: agosto-2011
Mensajes: 61
Antigüedad: 13 años, 3 meses
Puntos: 3
Respuesta: ¿Como hacer un array de Objetos usando Mysql?

He modificado unas cosas y me funciona en teoria.
Me muestra resultados, pero de igual forma me muestra esto:

Notice: Trying to get property of non-object in en cada linea. ¿A que se debe?

Ayuda porfavor!
  #3 (permalink)  
Antiguo 09/11/2011, 09:28
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: ¿Como hacer un array de Objetos usando Mysql?

¿Como dejaste tu código?

Etiquetas: clase, objetos, php, select
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 19:26.