Ver Mensaje Individual
  #4 (permalink)  
Antiguo 04/09/2009, 12:14
migueilichenco
 
Fecha de Ingreso: marzo-2004
Mensajes: 186
Antigüedad: 21 años
Puntos: 0
Respuesta: Comentarios Sobre Mi clase para conecctar Mysql

Gracias por sus comentarios, bueno disculpen por el modo como lo coloque es que lo pegue directamente de mi blog donde lo habia colocado pero aqui se los coloco corregido gracias y espero vuestros comentarios

Fichero: config.inc.php

Código PHP:
<?PHP
define
("HOME",realpath(dirname(__FILE__)));
define("MODELO",HOME."\modelo");
define("VISTA",HOME."\vista");
define("CONTROLADOR",HOME."\controlador");
define("CLASES",HOME."\clases");
?>
Clases Base de Datos
Fichero: BaseDeDatos.class.php

Código PHP:
<?php

 
class BaseDeDatos{
    
/*
    * Patch o ruta actual de la aplicacion
    */
    
private       $patch;
    
/*
    * Tipo de Conexion mysql, odbc,sql
    */
    
private     $tipodeconexion;
    
/*
    * Host de Conexion
    */
    
protected     $host;
    
/*
    * Usuario de Conexion
    */
    
protected     $user;
    
/*
    * Password de Conexion
    */
    
protected     $password;
    
/*
    * Base de Datos de Conexion
    */
    
protected     $database;
    
/*
    *  Crea una conexion
    */
    
public function __construct($tipodeconexion){
            
$this->DatosDeConexion();
            
$this->SeleccionarConexion($tipodeconexion);
            
                
    }
    protected  function 
DatosDeConexion(){
        
$this->patch MODELO."\Conexion.tpl";        
        if(
file_exists($this->patch)){
            
$vconexion file($this->patch);
            
$this->host str_replace("\r\n""",$vconexion[0]);
            
$this->user str_replace("\r\n""",$vconexion[1]);
            
$this->password str_replace("\r\n""",$vconexion[2]);
            
$this->database str_replace("\r\n""",$vconexion[3]);}
        else {echo 
"No existe fichero de configuracion";}    
    }
    private function 
SeleccionarConexion($driver){        
            
$driver "base".$driver;
            
$this->$driver();
    }
    protected function 
Registrar(){
        
    }
    protected function 
Modificar(){
        
    }
    protected function 
Eliminar(){
        
    }

}

?>

clase ConectarMysql
Fichero: ConectarMysql.class.php

Código PHP:
<?php

class ConectarMysql extends BaseDeDatos {
    
    private 
$tablas;
    private 
$filas;
    private 
$registros;
    private 
$cadena_registro "";
    private 
$contador;
    private 
$identificador;
    
    
    protected  function 
baseMysql(){
        
//realizamos la conexion con nuestra Base de Datos
        //echo $this->host.$this->database;
        
$this->contador=-1;
        if(
$this->host=="" and $this->user==""and $this->database=="")
            echo 
"Ingrese Valores Validos en Conexion.tpl";
        else 
            {
            if(!(
$vierror mysql_connect($this->host,$this->user,$this->password)))            
            echo 
"Error Conectandose a la Base de datos";
            if(!(
mysql_select_db($this->database,$vierror)))
            echo 
"Error seleccionando la base de datos.";
        }
    }
    
/**
     *Metodo para registrar una fila
     * 
     * @param String $tabla
     * @param String $columnas
     * @param String $registros
     * @return True,False
     */
    
public function Registrar($tabla,$columnas,$registros){
        
//Extraemos la cadena de registros
        
$Array_registros explode(",",$registros);
        
$Array_columnas explode(",",$columnas);
        
//verificamos que los registros y las columnas son iguales
        
if(count($Array_registros) == count($Array_columnas)){
        
//realizamos el registro de datos en mysql
        
$this->cadena_registro .= "insert into ".$tabla." (".$columnas.") values ( \n";
        
        for (
$i=0;$i<count($Array_registros);$i++){
            
$this->cadena_registro .= "'".$Array_registros[$i]."'";
            if(
$i+1<count($Array_registros)){$this->cadena_registro .= ",";}
        }
        
$this->cadena_registro .= ")";
        
//verificamos si se hizo el registro correctamente
        
if(mysql_query($this->cadena_registro))
            return 
"true";        
        else
            return 
"false";
        }else{return 
"El campo columna no coincide con el campo registro";}    
    }
    
/**
     * Esta funcion nos permite Actualizar una consulta el formato es :
     * Nombre de la tabla
     * Nombre de las columnas a modificar separadas por coma
     * Nombre de los registros a ingresar separados por coma
     * Nombre de la columna que sera la condicion para realizar la actualizacion
     * Valor que tendra la columna de condicion
     * 
     * Ejemplo:
     * $this->Modificar("mitabla","nombre,apellido,direccion","carlos,cervantes,lurin","id","5");
     * 
     *
     * @param String $tabla            
     * @param String $columnas
     * @param String $registros
     * @param String $where
     * @param String $valor
     * @return True,False
     */
     
function Modificar($tabla,$columnas,$registros,$where,$valor){
        
/*
        *Realizamos un array de las variables separados por coma
        */
        
$Array_columnas         explode(",",$columnas);
        
$Array_registros         explode(",",$registros);
        
/*
        *Verficamos que la cantidad de columnas sea igual a la cantidad de registros en
        * registro y en el where
        */
        
if(count($Array_columnas)== count($Array_registros)){
            
$this->cadena_actualizar .= "UPDATE ".$tabla." SET ";
            for(
$i=0;$i<count($Array_columnas);$i++){
                
$this->cadena_actualizar .= $Array_columnas[$i]." = '".$Array_registros[$i]."' ";
                if(
$i+1<count($Array_columnas)){$this->cadena_actualizar .= ", ";}
            }
            
$this->cadena_actualizar .= " WHERE ".$where." = '".$valor."'";
            if(
mysql_query($this->cadena_actualizar)){
                return 
"True";    }
                else return 
"False";            
        }
        else
            return 
"El numero de registros es diferente al numero de columnas";
    }
    
/**
     * Metodo para eliminar una consulta
     *
     * @param String $tabla
     * @param String $where
     * @param String $valor
     * @param Int $limit
     */
    
public function Eliminar($tabla,$where,$valor,$limit){
        
$this->cadena_eliminar .= "DELETE FROM ".$tabla." WHERE ";
        
$this->cadena_eliminar .= $where." = '".$valor."' LIMIT ".$limit;
        if(
mysql_query($this->cadena_eliminar))
            return 
"True";
            else 
            return 
"False";
        }
    
/**
     * Realizar una consulta en una tabla
     *
     * @param string $tabla
     * @param string $filas
     * @param string $where
     * @param string $valor
     */
    
public function Consultar($tabla,$filas,$where,$valor,$opcional){
        
$this->contador++;
            if(
$where==""){
            
$this->cadena_query "SELECT ".$filas." FROM ".$tabla." ".$opcional;
            
$this->array_mysql[$this->contador] = mysql_query($this->cadena_query);
            }
            else{
                
                
$this->cadena_query .= "SELECT ".$filas." FROM ".$tabla." WHERE ";
                
                
$Array_where explode(",",$where);
                
$Array_valor explode(",",$valor);
                if(
count($Array_where)==count($Array_valor)){
                    for(
$i=0;$i<count($Array_where);$i++){
                        
$this->cadena_query .= $Array_where[$i]." = '".$Array_valor[$i]."' and ";    
                        }                    
                
$this->cadena_query substr($this->cadena_query,0,-4);
                if(
$opcional<>""){$this->cadena_query .= " ".$opcional;}
                
$this->array_mysql[$this->contador] = mysql_query($this->cadena_query);
                }            
                else {
                    echo 
"Los valores tienen que ser igual a los where";
                }
            }
            
        
        }
    
/**
     * Ingrese el numero de consulta que desea recuperar en array
     *
     * @param int $identificador
     * @return array
     */
    
public function Array_Query($identificador){
        return 
$this->array_mysql[$identificador];
    }
    }
/*$NuevaConexion = new ConectarMysql("Mysql");
//$NuevaConexion->Registrar("vendedores","usuario,password,nombre,apellido,dni,estado","ck,123456,nm,ap,424,1");
//$NuevaConexion->Modificar("clientse164","login,password","Prueba01,4321","id_client","1");
//$NuevaConexion->Eliminar("tecnicos","id","5","1");
$NuevaConexion->Consultar("clientse164","*","id_client,casa,cerro,lot","1,2,3,4");
$NuevaConexion->Consultar("clientse164","*","id_client","5");
//Esto es para rescaratar los datos y va en la capa controlador como
//un  objeto de recopilacion de array
while($cadena = mysql_fetch_array($NuevaConexion->Array_Query("0")))
{
    echo $cadena[login];
}
while($cadena2 = mysql_fetch_array($NuevaConexion->Array_Query("1")))
{
    echo $cadena2[login];
}*/
?>
Para usar esto tenemos que tenes los directorios de la siguiente manera:

Carpeta "Proyecto"

1. -index.php
2. -config.inc.php
3. -Modelo

* -Conexion.tpl

1. -Vista
2. -Clases

* -BaseDeDatos.class.php
* -ConectarMysql.class.php
__________________
Software a Medida
voip Locutorios