Ver Mensaje Individual
  #4 (permalink)  
Antiguo 26/12/2008, 16:30
Avatar de enriqueplace
enriqueplace
 
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 19 años
Puntos: 32
Respuesta: consulta sobre clases

El problema es de clases, no está entendiendo el alcance de las variables/atributos dentro de los métodos.

Atención: Las variables globales están terminantemente prohibidas.

Lo que deberías hacer es tener un atributo de la clase para la conexión y este ser usado por los métodos de la propia clase.

Detalles a tener en cuenta
  • El nombre de la clase no se ajusta al contexto, lo que tu intentas hacer es una operación de base de datos y la conexión sería un atributo de la clase
  • Revisa la nomenclatura, usa el estándar de Zend

Debería ser algo del estilo:

Código PHP:

Archivo
BaseDeDatos.php

class BaseDeDatos

   private 
$_conexion;
   private 
$_resultado;
 
   public function 
__construct($nombre)
   {       
      
$this->_conexion mysql_connect("xxxx""xxxxx" ,"");
      
mysql_select_db($nombre);
   }
   public function 
ejecutarConsulta($sql)
   {
      
$this->_resultado mysql_query($sql,$this->_conexion);
   }
   public 
functino obtenerDatos()
   {
     return 
mysql_fetch_row($this->_resultado);
   }
}

ArchivoCliente.php

require_once 'BaseDeDatos.php';

class 
Cliente
{    
   public function 
mostrar()
   {   
       
$bd = new BaseDeDatos('clientes');     
       
$bd->ejecutarConsulta("select nombre, apellido from datos");

      while(
$datos $bd->obtenerDatos()){
          
// etcétera
      
}

   }

__________________
Blog phpsenior.com Cursos a Distancia surforce.com