Fichero: config.inc.php
Cita:
2. define("HOME",realpath(dirname(__FILE__)));
3. define("MODELO",HOME."\modelo");
4. define("VISTA",HOME."\vista");
5. define("CONTROLADOR",HOME."\controlador");
6. define("CLASES",HOME."\clases");
7. ?>
Fichero: BaseDeDatos.class.php2. define("HOME",realpath(dirname(__FILE__)));
3. define("MODELO",HOME."\modelo");
4. define("VISTA",HOME."\vista");
5. define("CONTROLADOR",HOME."\controlador");
6. define("CLASES",HOME."\clases");
7. ?>
Cita:
1. class BaseDeDatos{
2. /*
3. * Patch o ruta actual de la aplicacion
4. */
5. private $patch;
6. /*
7. * Tipo de Conexion mysql, odbc,sql
8. */
9. private $tipodeconexion;
10. /*
11. * Host de Conexion
12. */
13. protected $host;
14. /*
15. * Usuario de Conexion
16. */
17. protected $user;
18. /*
19. * Password de Conexion
20. */
21. protected $password;
22. /*
23. * Base de Datos de Conexion
24. */
25. protected $database;
26. /*
27. * Crea una conexion
28. */
29. public function __construct($tipodeconexion){
30. $this->DatosDeConexion();
31. $this->SeleccionarConexion($tipodeconexion);
32. }
33. protected function DatosDeConexion(){
34. $this->patch = MODELO."\Conexion.tpl";
35. if(file_exists($this->patch)){
36. $vconexion = file($this->patch);
37. $this->host = str_replace("\r\n", "",$vconexion[0]);
38. $this->user = str_replace("\r\n", "",$vconexion[1]);
39. $this->password = str_replace("\r\n", "",$vconexion[2]);
40. $this->database = str_replace("\r\n", "",$vconexion[3]);}
41. else {echo "No existe fichero de configuracion";}
42. }
43. private function SeleccionarConexion($driver){
44. $driver = "base".$driver;
45. $this->$driver();
46. }
47. protected function Registrar(){
48. }
49. protected function Modificar(){
50. }
51. protected function Eliminar(){
52. }
53. }
54. ?>
Fichero: ConectarMysql.class.php1. class BaseDeDatos{
2. /*
3. * Patch o ruta actual de la aplicacion
4. */
5. private $patch;
6. /*
7. * Tipo de Conexion mysql, odbc,sql
8. */
9. private $tipodeconexion;
10. /*
11. * Host de Conexion
12. */
13. protected $host;
14. /*
15. * Usuario de Conexion
16. */
17. protected $user;
18. /*
19. * Password de Conexion
20. */
21. protected $password;
22. /*
23. * Base de Datos de Conexion
24. */
25. protected $database;
26. /*
27. * Crea una conexion
28. */
29. public function __construct($tipodeconexion){
30. $this->DatosDeConexion();
31. $this->SeleccionarConexion($tipodeconexion);
32. }
33. protected function DatosDeConexion(){
34. $this->patch = MODELO."\Conexion.tpl";
35. if(file_exists($this->patch)){
36. $vconexion = file($this->patch);
37. $this->host = str_replace("\r\n", "",$vconexion[0]);
38. $this->user = str_replace("\r\n", "",$vconexion[1]);
39. $this->password = str_replace("\r\n", "",$vconexion[2]);
40. $this->database = str_replace("\r\n", "",$vconexion[3]);}
41. else {echo "No existe fichero de configuracion";}
42. }
43. private function SeleccionarConexion($driver){
44. $driver = "base".$driver;
45. $this->$driver();
46. }
47. protected function Registrar(){
48. }
49. protected function Modificar(){
50. }
51. protected function Eliminar(){
52. }
53. }
54. ?>
Cita:
Para usar esto tenemos que tenes los directorios de la siguiente manera: 1.
2. class ConectarMysql extends BaseDeDatos {
3.
4. private $tablas;
5. private $filas;
6. private $registros;
7. private $cadena_registro = "";
8. private $contador;
9. private $identificador;
10.
11.
12. protected function baseMysql(){
13. //realizamos la conexion con nuestra Base de Datos
14. //echo $this->host.$this->database;
15. $this->contador=-1;
16. if($this->host=="" and $this->user==""and $this->database=="")
17. echo "Ingrese Valores Validos en DataBase.txt";
18. else
19. {
20. if(!($vierror = mysql_connect($this->host,$this->user,$this->password)))
21. echo "Error Conectandose a la Base de datos";
22. if(!(mysql_select_db($this->database,$vierror)))
23. echo "Error seleccionando la base de datos.";
24. }
25. }
26. /**
27. *Metodo para registrar una fila
28. *
29. * @param String $tabla
30. * @param String $columnas
31. * @param String $registros
32. * @return True,False
33. */
34. public function Registrar($tabla,$columnas,$registros){
35. //Extraemos la cadena de registros
36. $Array_registros = explode(",",$registros);
37. $Array_columnas = explode(",",$columnas);
38. //verificamos que los registros y las columnas son iguales
39. if(count($Array_registros) == count($Array_columnas)){
40. //realizamos el registro de datos en mysql
41. $this->cadena_registro .= "insert into ".$tabla." (".$columnas.") values ( \n";
42.
43. for ($i=0;$i<count($Array_registros);$i++){
44. $this->cadena_registro .= "'".$Array_registros[$i]."'";
45. if($i+1<count($Array_registros)){$this->cadena_registro .= ",";}
46. }
47. $this->cadena_registro .= ")";
48. //verificamos si se hizo el registro correctamente
49. if(mysql_query($this->cadena_registro))
50. return "true";
51. else
52. return "false";
53. }else{return "El campo columna no coincide con el campo registro";}
54. }
55. /**
56. * Esta funcion nos permite Actualizar una consulta el formato es :
57. * Nombre de la tabla
58. * Nombre de las columnas a modificar separadas por coma
59. * Nombre de los registros a ingresar separados por coma
60. * Nombre de la columna que sera la condicion para realizar la actualizacion
61. * Valor que tendra la columna de condicion
62. *
63. * Ejemplo:
64. * $this->Modificar("mitabla","nombre,apellido,direccion"," carlos,cervantes,lurin","id","5");
65. *
66. *
67. * @param String $tabla
68. * @param String $columnas
69. * @param String $registros
70. * @param String $where
71. * @param String $valor
72. * @return True,False
73. */
74. function Modificar($tabla,$columnas,$registros,$where,$valo r){
75. /*
76. *Realizamos un array de las variables separados por coma
77. */
78. $Array_columnas = explode(",",$columnas);
79. $Array_registros = explode(",",$registros);
80. /*
81. *Verficamos que la cantidad de columnas sea igual a la cantidad de registros en
82. * registro y en el where
83. */
84. if(count($Array_columnas)== count($Array_registros)){
85. $this->cadena_actualizar .= "UPDATE ".$tabla." SET ";
86. for($i=0;$i<count($Array_columnas);$i++){
87. $this->cadena_actualizar .= $Array_columnas[$i]." = '".$Array_registros[$i]."' ";
88. if($i+1<count($Array_columnas)){$this->cadena_actualizar .= ", ";}
89. }
90. $this->cadena_actualizar .= " WHERE ".$where." = '".$valor."'";
91. if(mysql_query($this->cadena_actualizar)){
92. return "True"; }
93. else return "False";
94. }
95. else
96. return "El numero de registros es diferente al numero de columnas";
97. }
98. /**
99. * Metodo para eliminar una consulta
100. *
101. * @param String $tabla
102. * @param String $where
103. * @param String $valor
104. * @param Int $limit
105. */
106. public function Eliminar($tabla,$where,$valor,$limit){
107. $this->cadena_eliminar .= "DELETE FROM ".$tabla." WHERE ";
108. $this->cadena_eliminar .= $where." = '".$valor."' LIMIT ".$limit;
109. if(mysql_query($this->cadena_eliminar))
110. return "True";
111. else
112. return "False";
113. }
114. /**
115. * Realizar una consulta en una tabla
116. *
117. * @param string $tabla
118. * @param string $filas
119. * @param string $where
120. * @param string $valor
121. */
122. public function Consultar($tabla,$filas,$where,$valor){
123. $this->contador++;
124. if($where==""){
125. $this->cadena_query = "SELECT ".$filas." FROM ".$tabla;
126. }
127. else{
128. $this->cadena_query = "SELECT ".$filas." FROM ".$tabla." WHERE ".$where." = '".$valor."'";
129. }
130. $this->array_mysql[$this->contador] = mysql_query($this->cadena_query);
131. }
132. /**
133. * Ingrese el numero de consulta que desea recuperar en array
134. *
135. * @param int $identificador
136. * @return array
137. */
138. public function Array_Query($identificador){
139. return $this->array_mysql[$identificador];
140. }
141. }
142.
143. ?>
2. class ConectarMysql extends BaseDeDatos {
3.
4. private $tablas;
5. private $filas;
6. private $registros;
7. private $cadena_registro = "";
8. private $contador;
9. private $identificador;
10.
11.
12. protected function baseMysql(){
13. //realizamos la conexion con nuestra Base de Datos
14. //echo $this->host.$this->database;
15. $this->contador=-1;
16. if($this->host=="" and $this->user==""and $this->database=="")
17. echo "Ingrese Valores Validos en DataBase.txt";
18. else
19. {
20. if(!($vierror = mysql_connect($this->host,$this->user,$this->password)))
21. echo "Error Conectandose a la Base de datos";
22. if(!(mysql_select_db($this->database,$vierror)))
23. echo "Error seleccionando la base de datos.";
24. }
25. }
26. /**
27. *Metodo para registrar una fila
28. *
29. * @param String $tabla
30. * @param String $columnas
31. * @param String $registros
32. * @return True,False
33. */
34. public function Registrar($tabla,$columnas,$registros){
35. //Extraemos la cadena de registros
36. $Array_registros = explode(",",$registros);
37. $Array_columnas = explode(",",$columnas);
38. //verificamos que los registros y las columnas son iguales
39. if(count($Array_registros) == count($Array_columnas)){
40. //realizamos el registro de datos en mysql
41. $this->cadena_registro .= "insert into ".$tabla." (".$columnas.") values ( \n";
42.
43. for ($i=0;$i<count($Array_registros);$i++){
44. $this->cadena_registro .= "'".$Array_registros[$i]."'";
45. if($i+1<count($Array_registros)){$this->cadena_registro .= ",";}
46. }
47. $this->cadena_registro .= ")";
48. //verificamos si se hizo el registro correctamente
49. if(mysql_query($this->cadena_registro))
50. return "true";
51. else
52. return "false";
53. }else{return "El campo columna no coincide con el campo registro";}
54. }
55. /**
56. * Esta funcion nos permite Actualizar una consulta el formato es :
57. * Nombre de la tabla
58. * Nombre de las columnas a modificar separadas por coma
59. * Nombre de los registros a ingresar separados por coma
60. * Nombre de la columna que sera la condicion para realizar la actualizacion
61. * Valor que tendra la columna de condicion
62. *
63. * Ejemplo:
64. * $this->Modificar("mitabla","nombre,apellido,direccion"," carlos,cervantes,lurin","id","5");
65. *
66. *
67. * @param String $tabla
68. * @param String $columnas
69. * @param String $registros
70. * @param String $where
71. * @param String $valor
72. * @return True,False
73. */
74. function Modificar($tabla,$columnas,$registros,$where,$valo r){
75. /*
76. *Realizamos un array de las variables separados por coma
77. */
78. $Array_columnas = explode(",",$columnas);
79. $Array_registros = explode(",",$registros);
80. /*
81. *Verficamos que la cantidad de columnas sea igual a la cantidad de registros en
82. * registro y en el where
83. */
84. if(count($Array_columnas)== count($Array_registros)){
85. $this->cadena_actualizar .= "UPDATE ".$tabla." SET ";
86. for($i=0;$i<count($Array_columnas);$i++){
87. $this->cadena_actualizar .= $Array_columnas[$i]." = '".$Array_registros[$i]."' ";
88. if($i+1<count($Array_columnas)){$this->cadena_actualizar .= ", ";}
89. }
90. $this->cadena_actualizar .= " WHERE ".$where." = '".$valor."'";
91. if(mysql_query($this->cadena_actualizar)){
92. return "True"; }
93. else return "False";
94. }
95. else
96. return "El numero de registros es diferente al numero de columnas";
97. }
98. /**
99. * Metodo para eliminar una consulta
100. *
101. * @param String $tabla
102. * @param String $where
103. * @param String $valor
104. * @param Int $limit
105. */
106. public function Eliminar($tabla,$where,$valor,$limit){
107. $this->cadena_eliminar .= "DELETE FROM ".$tabla." WHERE ";
108. $this->cadena_eliminar .= $where." = '".$valor."' LIMIT ".$limit;
109. if(mysql_query($this->cadena_eliminar))
110. return "True";
111. else
112. return "False";
113. }
114. /**
115. * Realizar una consulta en una tabla
116. *
117. * @param string $tabla
118. * @param string $filas
119. * @param string $where
120. * @param string $valor
121. */
122. public function Consultar($tabla,$filas,$where,$valor){
123. $this->contador++;
124. if($where==""){
125. $this->cadena_query = "SELECT ".$filas." FROM ".$tabla;
126. }
127. else{
128. $this->cadena_query = "SELECT ".$filas." FROM ".$tabla." WHERE ".$where." = '".$valor."'";
129. }
130. $this->array_mysql[$this->contador] = mysql_query($this->cadena_query);
131. }
132. /**
133. * Ingrese el numero de consulta que desea recuperar en array
134. *
135. * @param int $identificador
136. * @return array
137. */
138. public function Array_Query($identificador){
139. return $this->array_mysql[$identificador];
140. }
141. }
142.
143. ?>
Carpeta "Proyecto"
1. -index.php
2. -config.inc.php
3. -Modelo
* -Conexion.tpl
1. -Vista
2. -Clases
* -BaseDeDatos.class.php
* -ConectarMysql.class.php
En el index cargamos nuestras clases y podemos segun el siguiente ejemplo
Cita:
Espero Les sea de utilidad y comenten si podemos mejorarla o si les fue de utlidad 1. $NuevaConexion = new ConectarMysql("Mysql");
2. $NuevaConexion->Registrar("vendedores","usuario,password,nombre,a pellido,dni,estado","ck,123456,nm,ap,424,1");
3. $NuevaConexion->Modificar("tabla","login,password","server,4321", "id_client","1");
4. $NuevaConexion->Eliminar("tecnicos","id","5","1");
5. $NuevaConexion->Consultar("clientse164","*","id_client","1");
6. $NuevaConexion->Consultar("clientse164","*","id_client","5");
7. Esto es para rescaratar los datos y va en la capa controlador como
8. un objeto de recopilacion de array
9. while($cadena = mysql_fetch_array($NuevaConexion->Array_Query("0")))
10. {
11. echo $cadena[log];
12. }
13. while($cadena2 = mysql_fetch_array($NuevaConexion->Array_Query("1")))
14. {
15. echo $cadena2[log];
16. }
2. $NuevaConexion->Registrar("vendedores","usuario,password,nombre,a pellido,dni,estado","ck,123456,nm,ap,424,1");
3. $NuevaConexion->Modificar("tabla","login,password","server,4321", "id_client","1");
4. $NuevaConexion->Eliminar("tecnicos","id","5","1");
5. $NuevaConexion->Consultar("clientse164","*","id_client","1");
6. $NuevaConexion->Consultar("clientse164","*","id_client","5");
7. Esto es para rescaratar los datos y va en la capa controlador como
8. un objeto de recopilacion de array
9. while($cadena = mysql_fetch_array($NuevaConexion->Array_Query("0")))
10. {
11. echo $cadena[log];
12. }
13. while($cadena2 = mysql_fetch_array($NuevaConexion->Array_Query("1")))
14. {
15. echo $cadena2[log];
16. }