Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/12/2010, 11:31
Dfcotacla
 
Fecha de Ingreso: enero-2010
Mensajes: 40
Antigüedad: 14 años, 10 meses
Puntos: 1
Duda clase iterando con pdo

bueno tengo 3 archivos que vi en un foro y funciona bien el problema esque no se como iterar con el arreglo dejo las funciones

archivo conexion.php

Código PHP:
<?php 
require_once("config.php");
class 
Conexion extends PDO 
{
    private static 
$_instance null;
    private 
$_query;
    private 
$_row;
    function 
__construct($dbs,$type)
    {        
        
// Obtenemos el Config desde un array, clase config etc:
        
$config Config::getInstance();
        
$host=$config->Host;
        if(empty(
$dbs)){
            if(
$config->DBName!=""){
                
$db =$config->DBName;            
            }
            else
                echo 
"No ha configurado la base de datos";    
        }
        else{
            
$db=$dbs;
        }            
        
$user $config->UserName;
        
$pwd $config->Password;
        
$attrs = array();        
        
$dsn $type.':host='.$host.';dbname='.$db;        
        
parent::__construct$dsn$user$pwd$attrs );
        
$this -> setAttribute PDO::ATTR_ERRMODEPDO::ERRMODE_EXCEPTION); 
    }
    public static function 
getInstance($dbs="",$type="mysql"
    {        
        if( 
self::$_instance==null){
            
self::$_instance = new self($dbs,$type);
        }
        return 
self::$_instance;
    }    
}
archivo config.php

Código PHP:
<?php
class Config
{    
    public 
$Host='localhost';
    public 
$DBName='unefa';
    public 
$UserName='root';
    public 
$Password='';
    private static 
$_instances null;
    private function 
__construct()
    {        
    }
    public static function 
getInstance() 
    {
        if( 
self::$_instances == null ) {
        
self::$_instances = new self();
        }
        return 
self::$_instances;
    }    
}
archivo sql.php

Código PHP:
<?php 
include("conexion.php");
class 
SQL
{
    private 
$_conect;
    private 
$_query;
    private 
$_row;
    private 
$_result;
    public function 
__construct(){}
    public function 
selectAll($table){
        try{
            
$this->_conect=Conexion::getInstance();
            
$this->_query=$this->_conect->prepare("SELECT * FROM $table");
            
$this->_query->execute();
            while(
$this->_row=$this->_query->fetch()){    
                
$this->_result[]=$this->_row;            
            }
            return 
$this->_result;
        }
        catch(
PDOExeption $e){
            echo 
$e->getMessaage();
        }
    }    
    public function 
buscarQuery($query,$parametro=NULL)
    {
        try{            
            
$this->_conect=Conexion::getInstance();
            
$this->_query=$this->_conect->prepare($query);
            
$this->_query->execute($parametro);                                    
            while(
$this->_row=$this->_query->fetch()){    
                
$result[]=$this->_row;
            }
            return     
$result;
        }
        catch(
PDOExeption $e){
            echo 
$e->getMessaage();
        }
    }        
    public function 
insert($table,$campos,$valores)
    {
        if(!
is_array($campos) || !is_array($valores)){
            echo 
"Los datos deben de estar en formato de arreglo";
        }
        try{
            
$this->_conect=Conexion::getInstance();                
            
$campo=implode(",",$campos);            
            foreach(
$valores as $id=>$valor){
                
$valorIngresar[]="'".$valor."'";
            }
            
$valors=implode(",",$valorIngresar);
            
$sql="INSERT INTO $table ($campo) VALUES ($valors)";
            
$this->_conect->exec($sql);
        }
        catch(
PDOExeption $e){
            echo 
$e->getMessaage();
        }    
    }
bueno puse esto al ultimo archivo


$sql= new SQL();
$sql->selectAll("tabla");

ahora como hago que me tire los resultados puse

$var=$sql->selectAll("tabla");
echo $var[0]; y nada se que funciona porque al hacer un print_r($var) veo los resultados en un arreglo, como puedo hacer que me despliegue el resultado y gracias por la ayuda??