Ver Mensaje Individual
  #6 (permalink)  
Antiguo 18/05/2012, 20:30
juanmanuelk
 
Fecha de Ingreso: julio-2011
Mensajes: 38
Antigüedad: 12 años, 9 meses
Puntos: 1
Respuesta: Listar en php oo

Cita:
Iniciado por pfranco Ver Mensaje
tienes varias lagunas.. deberias leer mas sobre POO en PHP antes de empezar, ya que veo errores graves de sintaxis (no cierras algunos metodos) y fallos con referencia al contexto de las variables.

Código PHP:
    public $_query
    private 
$_tabla
     
    public function 
_construct($query$tabla
    { 
      
$this->_query $query
      
$this->_tabla $tabla
         
    } 
hasta ahi, esta todo bien, salvo que si vas a pasarle la query por el constructor de nada sirve que sea publica, puedes hacerla privada.
Podrias pasarle en el constructor solo la tabla y create un getter y setter correspondiente para la propiedad $_query.

La conexion a la base de datos deberias tenerlo en otro metodo, asi como una desconexion.

Código PHP:
public function conectar(){
     
//te conectas a la bd
}

public function 
desconectar(){
     
//te desconectas de la bd

finalmente en tu método consulta llamarías primero al método de "conectar", después realizarías la consulta pasandole la query (que tienes como propiedad en la clase y que debiste settear antes de llamar a este método), guardas los resultados en otra propiedad de la clase (por ejemplo: private $rows) y cierras la conexión llamando al método de "desconectar".

Uno de los problemas que tienes es que la variable $result que creas en el método de consulta no esta en el mismo ámbito que el método mostrar.

finalmente, también veo que tienes fallos en lo que es el lenguaje en si..

esto: $V= echo $row[0]."<br>";
esta mal, no puedes igualar una variable a un echo.

Deberías estudiar antes bien la programación estructurada antes de comenzar con objetos.

Saludos!

PD: el constructor es asi: __construct() con dos guiones bajos...
Gracias , si es verdad hay errores duros , jaja , pero bueno lo estaba haciendo a las 3 am despues de levantarme a las 8 am.

igual es lo primero que hago en poo , donde puedo encontrar mas info y ejemplos sobre esto???? porque leí de algunos lugares como phpya , pero me gustaría practicar con ejemplos mas funcionales a lo que se puede llegar a aplicar.


acá hice algunas modificaciones , a ver que tal ?
Código PHP:

class LISTAR_NOTA{

    
$dbh = new PDO('mysql:host=localhost;dbname=test'$user$pass);
    
    private 
$_query;
    private 
$_tabla;
    private 
$_result;
    
    public function 
__construct($query$tabla)
    {
      
$this->_query $query;
      
$this->_tabla $tabla;
        
    }
    
    public function 
consulta(){
            
            
    
mysql_select_db($this->_tabla);    
    
$result mysql_query('"'.$this->_query.'"'); 
    
$this->_result $result;
    }
    public function 
_mostrar(){
          
          
$V='';
          while (
$row mysql_fetch_array($this->_result)) {
              
             
              
              
$V$row[0]."<br>";
              
$V.=  $row[1]."<br>";
              
$V.=  $row[2]."<br>";
              
$V.=  $row[3]."<br>";
              
$V.=  $row[4]."<br>";
              
$V.=  $row[5]."<br>";
        
        
        }         
         
         return 
$V;
         
$dbh null;
        }
    
    
                } 
saludos !