Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/08/2010, 23:17
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
Puntos: 461
Pregunta lo estoy haciendo bien??

bueno nuevamente aki por el foro de poo e leido algunos tutoriales y con ayuda de ustedes cree la primera clase q coloq hac algun tiempo era una clase super sencilla ahorita dentro de los tutoriales q he estado leyendo esta la herencia y quic practicarla un poco pero no estoy seguro de si lo hic bien esta funciona pero esta bien?? q pudiera mejorar?? por favor es q estoy mal acostumbrado a la programacion estructurada aki el codigo es una clase asi como la q habia puesto antes de conexion pero le agreg el introducir datos para ver si aprendi algo de lo de trabajar con herencia espero sus respuestas gracias de antemano
Código PHP:
class conexion
{
    protected 
$mysqlHost;
    protected 
$mysqlUser;
    protected  
$mysqlPass;
    protected 
$db;
    protected  
$connect;
    protected 
$query;
    protected 
$row;
    public function 
__construct($mysqlHost="localhost",$mysqlUser="root",$mysqlPass=""#colocamos el usuario normalmente utilizado
    
{
        
$this->mysqlHost=$mysqlHost;
        
$this->mysqlUser=$mysqlUser;
        
$this->mysqlPass=$mysqlPass;
        
$this->conectar();        
    }
    protected function 
conectar()
    {
        
$this->connect=@mysql_connect($this->mysqlHost,$this->mysqlUser,$this->mysqlPass) or die ("no se pudo conectar con el servidor ".mysql_error());        
    }
    public function 
selectDb($db="db"#colocamos la base de datos normalmente utilizada
    
{
        @
mysql_select_db($db) or die ("Error al conectar con base de datos ".mysql_error());    
    }
    public function 
ejecutarSentencia($query,$result=false)#si result es true trae el resultado si es falso trae el Resource id
    
{
        
$this->query=mysql_query($query) or die (mysql_error());
        if(
$result==true){
            
$this->mostrarResultados($this->query);
            return 
$this->result;
        }else{            
            return 
$this->query;
        }    
    }
    public function 
mostrarResultados($query)    
    {
        while(
$this->row=mysql_fetch_assoc($query))
        {
            
$this->result[]=$this->row;            
        }
        return 
$this->result;
    }
    public function 
liberar()
    {
        
mysql_free_result();
    }
    public function 
desconectar()
    {
        
mysql_close();
    }
}
class 
insertar extends conexion{
    protected 
$campos;    
    protected 
$valores;
    protected 
$table;
    protected 
$values;
    protected 
$camposImo;
    public function 
__construct($tabla="",$campos="",$valores=""){
        if(empty(
$tabla) || empty($campos) || empty($valores)){
            echo 
"Debe inicializar la clase para insertar datos";        
            return 
false;
        }    
        
$this->tabla=$tabla;
        
$this->campos=$campos;
        
$this->valores=$valores;                        
        
$this->tratarDatos();
    }
    protected function 
tratarDatos(){
        
$this->tabla=htmlentities(trim($this->tabla));        
        foreach(
$this->campos as $id=>$values){
            
$this->campos[$id]=htmlentities(trim($values));
            
$this->valores[$id]=htmlentities(trim("'".$this->valores[$id]."'"));            
        }
        
$this->camposImo=implode(",",$this->campos);
        
$this->value=implode(",",$this->valores);
        
$this->insertar();        
    }
    protected function 
insertar(){
        
parent::ejecutarSentencia("INSERT INTO ".$this->tabla." (".$this->camposImo.") VALUES (".$this->value.");") or die (mysql_error());        
    }
}
##############################################################################
################### pruebas a la clase #######################################
##############################################################################
$campos=array("nombre","apellido","cedula","correo");
$valores=array("nombre","apellido",12345647841,"correo");
$conect=new conexion();
$conect->selectDb("db");
$insertar=new insertar("tabla",$campos,$valores);
$result=$conect->ejecutarSentencia("select * from tabla",true); 
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way

Última edición por carlos_belisario; 16/08/2010 a las 21:52