Clase de PHP acceso a MySQL

Para proyectos pequeños donde no merece la pena meter un framework, o incluso para algún proyecto grande pero que necesito cierta rapidez de integración, suelo usar la siguiente clase de PHP que me curre una tarde de aburrimiento. Esta hecha para que la use hasta el más zarpas (maquetadores incluidos…)

descargar la clase

Por un lado tenemos un fichero de configuración en el raíz del proyecto (/config.php), donde tendremos los datos de acceso a la base de datos. Se puede aprovechar para definir las constantes extra que necesite vuestra aplicación. Por otro tenemos el fichero /class/db.php que es mi clase y que en un principio no la tendréis que tocar (aunque ya tengo otra versión para SQL Server con un funcionamiento similar).

Para usarla solo habría que hacer lo siguiente:

include_once('class/db.php'); 
$resultados = db::query('select * from tabla');	

// sacamos el resultado de la consulta
foreach($resultados as $registro){
    echo $registro->campo;
}

Bastante fácil como se puede comprobar. Que pasa, que como hay mucho gañán suelto, lo he dejado más fácil aun para las operaciones típicas:

/* insertar un registro
El primer parámetro es el nombre de la tabla donde insertar.
El segundo parámetro es un array de los nombres de los campos y sus valores
El resultado ($id) nos devolvería el identificador insertado en la tabla 
*/
$id = db::insert("tabla", array("campo1"=>"valor1", "campo2"=>"valor2", "campo3"=>"valor3"));
echo $id; 



/* actualizar registros
El primer parámetro es el nombre de la tabla donde actualizar.
El segundo parámetro es un array de los nombres de los campos y sus valores
El tercer parámetro es un string con la condición que deben cumplir los registros a actualizar. Si lo pasamos vacío actualiza todos los registros
El resultado ($afectados) serían el número de registros actualizados
*/
$afectados = db::update("tabla", array("campo1"=>"valor1", "campo2"=>"valor2"), " condicion = 1");	
echo $afectados;


/* borrar registros
El primer parámetro es el nombre de la tabla donde borrar.
El segundo parámetro es un string con la condición que deben cumplir los registros a borrar. Si lo pasamos vacío borra todos los registros
El resultado ($afectados) serían el número de registros borrados
*/
$afectados = db::delete("tabla", " condicion = 1");
echo $afectados;



/* seleccionar registros 
El primer parámetro es el nombre de la tabla
El segundo parámetro son los campos a sacar (se puede dejar vacío con lo que sacaríamos todos los campos)
El tercer parámetro es un string con la condición que deben cumplir los registros a mostrar (se puede dejar vacío con lo que sacaríamos todos los registros)
El cuarto parámetro es un string con el orden a mostrar (se puede dejar vacío con lo que no ordenaríamos los registros)
*/
$resultados = db::select("tabla", "campo1, campo2", " condicion = 1","orden");
foreach($resultados as $registro){
    echo $registro->campo1;
}

A parte, la clase trae un par de cosillas extra, como por ejemplo un método para convertir directamente fechas en formato dd/mm/yyyy a formato de la base de datos. En caso de no ser una fecha valida, devolvería null. Y la forma de usarla por ejemplo en una inserción:

$id = db::insert("tabla", array("campo"=>"valor", "fecha"=>db::fechaAdb("1/5/2010")));

También esta incluida dentro del mismo fichero algo que solemos necesitar en el desarrollo, una clase para hacer los logs. La forma de usarla sería:

/* guardar una cadena de texto
El primer parámetro es la cadena a guardar y el segundo el fichero donde lo guardará. Si no especificamos el segundo parámetro, por defecto lo hará en log.txt
*/
debug::log("texto a guardar", "fichero.txt");

/* mostrar los campos que llegan a la página ya sea por GET o por POST, indicando el nombre de la página que lo ejecuta y la fecha */
debug::campos("fichero.txt");  // guardaría el resultado en fichero.txt
debug::campos();   // los mostraría por pantalla

Y si os da por descargar el zip, veréis que en el directorio class esta el fichero paginacion.php y os preguntareis para que sirve. Pues como su nombre indica, para hacer paginaciones de registro.

include_once('class/db.php');
include('class/paginacion.php');
// instanciamos la clase pasandole la query a buscar y el número de registros por página
$listado = new paginacion("Select campo1, campo2 from tabla", $registros_por_pagina);

// sacamos el número de páginas de la paginación
echo $listado->paginas;

// sacamos los resultados de la página que le indiquemos
var_dump($listado->resultados($numero_de_pagina));

Como veis, más sencillo imposible. Y esto es todo, si veis cualquier opción para mejorarla o detectais algun problema no dudeis en avisarme

Dejar un comentario?

0 Comentarios.

Deje un comentario


NOTA - Puede usar estosHTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.