Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube
JC Mouse Bolivia
Index / Access / Base de Datos / Descargas / PHP / ODBC acces y php POO

ODBC acces y php POO

Autor jc mouse miércoles, febrero 22, 2012

En este tuto crearemos una clase para conectarse con una base de datos Access y ademas se implementan dos metodos para realizar consultas e insertar registros desde PHP.

Antes de comenzar con PHP debemos tener una base de datos.

Necesitamos crear una base de datos en Acces con extensión *.mdb, llama a esta base de datos «demo.mdb», debes añadir una tabla a la base de datos (Nombre tabla: tabla), y a esta tabla añades 2 campos de tipo String (Campo 1: Nombre, Campo 2: Correo), añade algunos valores. Este archivo MDB debe estar en la misma carpeta que los archivos php que crearemos.

1. Crea un nuevo archivo PHP llamado «msaccess.class.php«, el código de la clase es:

<?php
/* CLASE PARA LA CONEXION DE PHP CON ACCES 2003 */
class msaccess {
 # variable para almacenar la conexion
 private $conexion;  
 #Base de datos access 2003
 private  $name = 'demo.mdb';

    /* METODO PARA CONECTAR CON LA BASE DE DATOS*/
 public function conectar()
 {
    # Directorio actual de la base de datos
    $db = getcwd()."\\".$this->name;
    # Se forma la cadena de conexión
    $dsn = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=".$db;
    # Se realiza la conexón con Access -> Si hay error se detiene todo
    $this->conexion = odbc_connect( $dsn, '', '' ) or die( odbc_errormsg() );
     echo 'Conexión a ['.$this->name.' ]: Establecida';
 }

 /* METODO PARA CERRAR LA CONEXION A LA BASE DE DATOS*/ 
 public function desconectar()
 {
  odbc_close( $this->conexion );
  echo 'Conexion a ['.$this->name.'] : Terminado ';
 }

 /*METODO PARA HACER UN INSERT
 * INPUT: 
 * $tabla -> Nombre tabla 
 * $campos -> String con nombres de los campos -> campo1, campo2, campo_n
 * $valores -> Valores a insertar -> 'Valor1','Valor2','Valor_n'
 * OUTPUT:
 * boolean -> TRUE/FALSE: 
 */
 function insert($tabla, $campos, $valores){
  #se forma la instruccion SQL 
  $q = 'INSERT INTO '.$tabla.' ('.$campos.') VALUES ('.$valores.')';
  $resultado = $this->consulta($q);
  if($resultado) return true;
  else return false;
 }   

 /* METODO PARA REALIZAR UNA CONSULTA 
 * INPUT: 
 * $q -> consulta SQL
 *OUTPUT: 
 * $result
 */
 public function consulta($q)
 {
    $resultado = odbc_exec( $this->conexion, $q) or die( odbc_errormsg() );
    return $resultado; 
 }

}//fin clase
?>

Esta clase implementa los metodos para la conexión con Acces mediante el uso de ODBC y los metodos de consulta e insercción de filas. Esta comentado al detalle creo y puede ser facilmente entendible. Continuemos.

2. Ahora que tenemos nuestra clase de conexion con acces, debemos implementarla, crea un nuevo archivo php, «index.php» y coloca el siguiente código:

<?php
 require 'msaccess.class.php';
 $db = new msaccess();

 $db->conectar();
 echo '<br/>'; 
 #Se realiza consulta
 $rs = $db->consulta( " SELECT * FROM tabla" );
 #Se imprimen los datos
 echo " Consulta: <br/>";
 while ( odbc_fetch_row($rs) ) 
      echo '- '.odbc_result($rs,"Nombre").' | ' .odbc_result($rs,"Correo").' |<br/>';
 #Se agrega un nuevo registro
 echo "Se agrega nuevo registro: <br/>";
 $db->insert("tabla" , " Nombre, Correo " , " 'Rasputia','rp_678tia@hotmail.com' " );
 #Se realiza consulta 
 $rs = $db->consulta( " SELECT * FROM tabla" );
 #Se imprimen los datos 
 while ( odbc_fetch_row($rs) ) 
      echo '- '.odbc_result($rs,"Nombre").' | ' .odbc_result($rs,"Correo").' |<br/>'; 
 $db->desconectar(); 
?>

Pues bien, ya está todo listo, ejecuta el archivo index desde el navagador y debes tener el siguiente resultado (+ o -):

Conexión a [demo.mdb ]: Establecida
Consulta:
- Juanita Ladel Trece | juni_123@hotmail.com |
- Paco Mermela | paco_m_32323o@gmail.com |
- Aquiles Brinco | aq_bo_99999@hotmail.com |
Se agrega nuevo registro:
- Juanita Ladel Trece | juni_123@hotmail.com |
- Paco Mermela | paco_m_32323o@gmail.com |
- Aquiles Brinco | aq_bo_99999@hotmail.com |
- Rasputia | rp_678tia@hotmail.com |
Conexion a [demo.mdb] : Terminado

Eso es todo 🙂 puedes bajarte los archivos del proyecto desde AQUI

Tags

Si te ha gustado podrías compartirlo o dejar un comentario. ¡Muchas gracias!
Autor: JC Mouse

Yo soy yo :) JC Mouse, Soy orgullosamente boliviano soy fundador y CEO de la web jc-Mouse.net uno de las pocas web en emprendimiento y tecnología en Bolivia.

Toda la información que encuentres en este sitio es y sera completamente gratis siempre, puedes copiar, descargar y re-publicar si así lo deseas en otros blogs o sitios web, solo te pido a cambio que dejes una referencia a esta web. Esto nos ayuda a crecer y seguir aportando. Bye

Enjoy! :)

También Te Podría Interesar

JSpinner: Cambiar color de fondo y fuente

JSpinner: Cambiar color de fondo y fuente

Un JSpinner es un componente swing de java con una caja de texto y un par de botones que nos permiten incrementar  y dec...

Depuración avanzada en PHP

Depuración avanzada en PHP

Xdebug es una extensión para PHP que nos ayuda con la depuración y el desarrollo de aplicaciones. Contiene un depurador...

CUF: Código Único en Kotlin

CUF: Código Único en Kotlin

En este post implementamos en lenguaje Kotlin (lenguaje de programación de tipado estático que corre sobre la máquina vi...

Animaciones básicas con Pygame

Animaciones básicas con Pygame

En tutoriales pasados creábamos demasiadas líneas de código en el mismo lugar para dibujar en la pantalla, cosa que nos...

Cambiar API Level en Android Studio

Cambiar API Level en Android Studio

Cuando desarrollamos aplicaciones en el IDE (Entorno de Desarrollo Integrado) de Android Studio, es importante indicar e...

Programación Shell: Estructuras de control

Programación Shell: Estructuras de control

Las estructuras de control de Shell son muy parecidos a otras lenguajes de programación. Las estructuras disponibles en...

Comparte lo que sabes

Categorias

Últimas entradas

En muchas ocasiones es necesaria la personalización de componentes java para que estos se adecuen a nuestros requerimien...

En este post mostramos como personalizar el Header (encabezado) de un componente JTable en Java colocando iconos, centra...

El JTable de Java es un gran componente para mostrar datos en una tabla de una forma rápida y sencilla, sin embargo en v...

En este post veremos un ejemplo sencillo de como descargar desde Internet archivos de cualquier tipo (*.jpg, *.png, *.gi...

Herramientas

Generador de Enlaces a Whatsapp