Ver Mensaje Individual
  #29 (permalink)  
Antiguo 20/10/2010, 19:18
Avatar de carlos_belisario
carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 7 meses
Puntos: 461
Respuesta: lo estoy haciendo bien??

bueno puse en practica la base de datos que construimos entre varios, pero me pasa lo siguiente
cada vez que hago una consulta se une al arreglo que me devolvio en el anterior un ejemplo
Código PHP:
Ver original
  1. include ("DbFactory.php");#aca inclui tambien el archivo db.php que es donde tengo mis funciones para traer datos y cosas asi
  2. $var=new db();
  3. $row=$var->ejecutarSentencia("select * from articulos");
  4. print_r($row);
  5. $ro=$var->selectAll('usuario');
  6. echo "<br/><br/><br/>";
  7. print_r($ro);
aca el archivo db para que me digan si es que tengo algo mal aca
Código PHP:
Ver original
  1. <?php
  2.  
  3. class db
  4.  
  5. {
  6.  
  7.     protected $_conect;
  8.  
  9.     protected $_query;
  10.  
  11.     protected $_row;
  12.  
  13.     protected $_result;
  14.  
  15.     public function __construct()
  16.  
  17.     {      
  18.         $this->_conect=DatabaseFactory::create('config.ini');
  19.  
  20.     }
  21.  
  22.     public function selectAll($table,$condicion=NULL){
  23.  
  24.         try{                       
  25.  
  26.            
  27.  
  28.             if(empty($condicion))
  29.  
  30.             {
  31.  
  32.                 $this->_query=$this->_conect->prepare("SELECT * FROM $table");
  33.  
  34.                 $this->_query->execute();
  35.  
  36.             }
  37.  
  38.             else{
  39.  
  40.                 $this->_query=$this->_conect->prepare("SELECT * FROM $table WHERE $condicion");
  41.  
  42.                 $this->_query->execute();
  43.  
  44.             }  
  45.  
  46.             while($this->_row=$this->_query->fetch()){ 
  47.  
  48.                 $this->_result[]=$this->_row;          
  49.  
  50.             }
  51.  
  52.             //$this->_conect="";           
  53.  
  54.             return $this->_result;
  55.  
  56.         }
  57.  
  58.         catch(PDOExeption $e){
  59.  
  60.             echo $e->getMessaage();
  61.  
  62.         }
  63.  
  64.     }  
  65.  
  66.     public function ejecutarSentencia($query,$parametro=NULL,$return=true)
  67.  
  68.     {
  69.  
  70.         try{           
  71.  
  72.             /*$site_path = realpath(dirname(__FILE__)).'\config.ini';
  73.  
  74.             $this->_conect=DatabaseFactory::create($site_path);*/
  75.  
  76.             //$this->_conect=DatabaseFactory::create('C:/xampp/htdocs/taquilla/ayuda/clase_conexion_bien_echa/config.ini');
  77.  
  78.             /*$site_path = realpath(dirname(__FILE__)).'\config.ini';
  79.  
  80.             $this->_conect=DatabaseFactory::create($site_path);*/          
  81.  
  82.             $this->_query=$this->_conect->prepare($query);
  83.  
  84.             $this->_query->execute($parametro);
  85.  
  86.             if($return==true){                                 
  87.  
  88.                 while($this->_row=$this->_query->fetch()){ 
  89.  
  90.                     $this->_result[]=$this->_row;
  91.  
  92.                 }
  93.  
  94.                 //$this->_conect="";
  95.  
  96.                 return $this->_result;
  97.  
  98.             }
  99.  
  100.             else{
  101.  
  102.                 //$this->_conect="";
  103.  
  104.                 return $this->_query;
  105.  
  106.             }              
  107.  
  108.         }
  109.  
  110.         catch(PDOExeption $e){
  111.  
  112.             echo $e->getMessaage();
  113.  
  114.         }
  115.  
  116.     }      
  117.  
  118.     public function insert($table,$campos,$valores)
  119.  
  120.     {
  121.  
  122.         if(!is_array($campos) || !is_array($valores)){
  123.  
  124.             echo "Los datos deben de estar en formato de arreglo";
  125.  
  126.         }
  127.  
  128.         try{           
  129.  
  130.             /*$site_path = realpath(dirname(__FILE__)).'\config.ini';
  131.  
  132.             $this->_conect=DatabaseFactory::create($site_path);*/
  133.  
  134.             $campo=implode(",",$campos);           
  135.  
  136.             foreach($valores as $id=>$valor){
  137.  
  138.                 $valorIngresar[]="'".$valor."'";
  139.  
  140.             }
  141.  
  142.             $valors=implode(",",$valorIngresar);
  143.  
  144.             $sql="INSERT INTO $table ($campo) VALUES ($valors)";
  145.  
  146.             echo $sql;
  147.  
  148.             $this->_conect->exec($sql);
  149.  
  150.             //$this->_conect="";
  151.  
  152.         }
  153.  
  154.         catch(PDOExeption $e){
  155.  
  156.             echo $e->getMessaage();
  157.  
  158.         }  
  159.  
  160.     }      
  161.  
  162.     public function deleteAll($table,$return=false)
  163.  
  164.     {
  165.  
  166.         try{
  167.  
  168.             /*$site_path = realpath(dirname(__FILE__)).'\config.ini';
  169.  
  170.             $this->_conect=DatabaseFactory::create($site_path);*/
  171.  
  172.             //$this->_conect=DatabaseFactory::create('config.ini');
  173.  
  174.             $this->_result=$this->_conect->exec("DELETE FROM $table");         
  175.  
  176.             if($return){
  177.  
  178.                 return $this->_result;
  179.  
  180.             }  
  181.  
  182.             //$this->_conect="";
  183.  
  184.         }
  185.  
  186.         catch(PDOExeption $e){
  187.  
  188.             echo $e->getMessaage();
  189.  
  190.         }
  191.  
  192.     }
  193.  
  194.     public function reiniciarTabla($table){
  195.  
  196.         try{
  197.  
  198.             /*$site_path = realpath(dirname(__FILE__)).'\config.ini';
  199.  
  200.             $this->_conect=DatabaseFactory::create($site_path);*/
  201.  
  202.             //$this->_conect=DatabaseFactory::create('config.ini');
  203.  
  204.             $this->_result=$this->_conect->exec("TRUNCATE TABLE $table");  
  205.  
  206.             //$this->_conect="";                   
  207.  
  208.         }
  209.  
  210.         catch(PDOExeption $e){
  211.  
  212.             echo $e->getMessaage();
  213.  
  214.         }
  215.  
  216.     }
  217.  
  218. }

el trae los datos bien pero si se fijan cuando hago la consulta de dos cosas diferentes en una misma pagina en la segunda tambien me incluye los datos de la primera xq??
Cita:
Array ( [0] => Array ( [id_articulo] => 1 [0] => 1 [titulo] => Aprendiendo a Maquetar con CSS [1] => Aprendiendo a Maquetar con CSS [contenido] => estamos comenzando [2] => estamos comenzando [usuario] => carlos [3] => carlos ) )


Array ( [0] => Array ( [id_articulo] => 1 [0] => 1 [titulo] => Aprendiendo a Maquetar con CSS [1] => Aprendiendo a Maquetar con CSS [contenido] => estamos comenzando [2] => estamos comenzando [usuario] => carlos [3] => carlos ) [1] => Array ( [usuario] => carlos [0] => carlos [pass] => 123456 [1] => 123456 [nivel] => administrador [2] => administrador [estatus] => habilitado [3] => habilitado ) )
probe cerrando la conexion con PDO pero cuando la intentanba volver a abrir me dice que no puedo redeclarar la clase DatabaseFactory ebtonces que puedo hacer?? no me da la mente ya
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way