Fichero: config.inc.php define("HOME",realpath(dirname(__FILE__)));define("MODELO",HOME."\modelo");define("VISTA",HOME."\vista");define("CONTROLADOR",HOME."\controlador");define("CLASES",HOME."\clases");?>
Fichero: BaseDeDatos.class.phpclass 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(){}}?>
Fichero: ConectarMysql.class.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 DataBase.txt";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 igualesif(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 correctamenteif(mysql_query($this->cadena_registro))return "true";elsereturn "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";}elsereturn "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";elsereturn "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){$this->contador++;if($where==""){$this->cadena_query = "SELECT ".$filas." FROM ".$tabla;}else{$this->cadena_query = "SELECT ".$filas." FROM ".$tabla." WHERE ".$where." = '".$valor."'";}$this->array_mysql[$this->contador] = mysql_query($this->cadena_query);}/*** 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];}}?>
Carpeta "Proyecto"
- -index.php
- -config.inc.php
- -Modelo
- -Conexion.tpl
- -Vista
- -Clases
- -BaseDeDatos.class.php
- -ConectarMysql.class.php
En el index cargamos nuestras clases y podemos segun el siguiente ejemplo
$NuevaConexion = new ConectarMysql("Mysql");$NuevaConexion->Registrar("vendedores","usuario,password,nombre,apellido,dni,estado","ck,123456,nm,ap,424,1");$NuevaConexion->Modificar("tabla","login,password","server,4321","id_client","1");$NuevaConexion->Eliminar("tecnicos","id","5","1");$NuevaConexion->Consultar("clientse164","*","id_client","1");$NuevaConexion->Consultar("clientse164","*","id_client","5");Esto es para rescaratar los datos y va en la capa controlador comoun objeto de recopilacion de arraywhile($cadena = mysql_fetch_array($NuevaConexion->Array_Query("0"))){echo $cadena[log];}while($cadena2 = mysql_fetch_array($NuevaConexion->Array_Query("1"))){echo $cadena2[log];}
Saludos
No hay comentarios:
Publicar un comentario