Clase CMySQL_MSet |[ mArKitos ]| '00
------------------------------------
|[ Descripcion De Las Propiedades ]|
- DB_Name = Nombre de la base de datos
- DB_User = Nombre del usuario para la conexion con MySQL
- DB_Pass = Clave de acceso para el acceso a MySQL
- DB_Host = Nombre del host servidor MySQL
- DB_Link = Descriptor del enlace con MySQL
- CM_TRUE = Valor boleano [1]
- CM_FALSE = Valor boleano [0]
#:.........................................................:#
#: Todas las propiedades son de ambito privado de la clase :#
#:.........................................................:#
|[ Descripcion De Los Metodos ]|
- CMySQL_MSet
Metodo constructor. Setea las propiedades de los datos de la conexion.
- OpenConnection
Metodo de apertura de conexion con el servidor MySQL. Almacena el descriptor
del enlace en la propiedad DB_Link en caso de conseguir la conexion y devuelve 1.
En caso contrario devuelve 0 [CM_FALSE]
- CloseConnection
Metodo de cierre de conexion con el servidor MySQL. Cierra la conexion
que hay establecida con el descriptor DB_Link.
- ExecSQL
Metodo de ejecucion de una sentencia SQL que se nos pasa como parametro.
Devuelve el resultado del query en caso de exito o 0 [CM_FALSE].
- SearchIn
Metodo de busqueda. Se nos pasa como parametros el nombre de la tabla donde buscar,
asi como el campo de la misma, el patron y un flag que nos indica si la busqueda ha
de ser de patron completo o cualquier ocurrencia con el patron. La tabla ha de
ser una tabla valida de la base de datos contenida en la propiedad DB_Name.
La tabla ha de contener un campo indice auto_increment con el nombre id, ya que
en caso de exito devolveremos una matriz con los id's de los registros donde la busqueda
tuvo exito. La sintaxis de la llamada es:
$Matriz = SearchIn ("Nombre_Tabla", "campo", "patron", "Completa");
El parametro 'Completa' ha de ser 1 para que la busqueda sea de patron completo o 0 para
que sea de cualquier ocurrencia con el patron.
Tambien podemos hacer que la busqueda no se limite a un solo campo. Para ello tan solo
tendremos que especificarselo al hacer la llamada al metodo:
$Matriz = SearchIn ("Tabla", "campo1, campo2, campoN", "patron", "Completa");
Recuerda que podemos hacer que busque en cualquier nombre de campo valido de la base de datos
excepto en el campo 'id'. Ese campo es reservado.
Si la busqueda no tuviera exito devolvera 0 [CM_FALSE]. De esta forma podremos ver cuantos
registros coinciden con nuestro patron:
if (($Numero_Registros = count($Matriz)) < 1){
#: No se ha encontrado ningun registro
} else {
#: En la variable $Numero_Registros tenemos un
#: entero con el numero de registros donde la
#: busqueda tuvo exito
}
### TODAS LAS BUSQUEDAS DE ESTE METODO NO SON CASE SENSITIVE. PARA ESO ESTA SearchAdv. ###
- SearchAdv
Metodo de busqueda avanzado. Este metodo es similar al anterior descrito, salvo que presenta
algunas ventajas como son el poder hacer una busqueda case sensitive y clausulas adicionales.
La sintaxis de la llamada a este metodo es:
$Matriz = SearchAdv ("Tabla", "Campo", "Patron", "Completa", "CaseSensitive", "Clausulas", "SQL");
, donde los 4 primero parametros corresponden a los del metodo 'SearchIn', y los siguientes son:
- CaseSensitive = Podra ser 1 o 0. 1 para decirle que la busqueda sea case sensitive, distinguiendo
las mayusculas de las minusculas, o 0 para que no lo haga.
- Clausulas = Podra ser 1 o 0. 1 para decirle que si vamos a darle clausulas adicionales.
- SQL = Sera un string (o una variables cuyo valor lo sea), con la sentencia SQL de la
clausulas que queramos poner a la busqueda. Un ejemplo podria ser:
$Sql_Clausula = "WHERE id>='2' ORDER BY Campo2";
$Matriz = SearchAdv ("Tabla", "Campo1, Campo2", "Patron", "1", "1", "1", "$Sql_Clausula");
Esto hara una busqueda del patron 'Patron' al completo en la tabla 'Tabla', en los campos 'Campo1, Campo2'.
La busqueda sera case sensitive y ademas le daremos la clausula 'WHERE id>='2' ORDER BY Campo2'.
El metodo inserta el codigo SQL al final de la sentencia SELECT.
Junto con la clase adjunto un fichero con una serie de tests para que puedas ver la clase
en funcionamiento. Son unos ejemplos bastantes simples pero con ellos podras ver como
llamar a los metodos, asi como hacer distintas pruebas.
############################### NOTA DEL AUTOR ####################################
Para cualquier aclaracion o comentario mailme: markitos@jazzfiesta.com
Esta clase por supuesto que no tiene ningun tipo de restriccion y es de libre
uso y manejo. Para cualquier cambio que realices hazmelo saber para ir mejorandola.
###################################################################################
----------------------
|[ #: HappY CodiNG :#]|
mArkitos '00
----------------------
|