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

Formateo de registros en Excel con JExcel

Formateo de registros en Excel con JExcel

Tenia un problema, me pasaron unos archivos excel con unos cientos de registros (ver imagen más abajo) que exportaron de...

Incrementar limite máximo de importación en PhpMyAdmin

Incrementar limite máximo de importación en PhpMyAdmin

En ocasiones el limite máximo de importación de base de datos que ofrece PhpMyAdmin (2MB) no es suficiente para lo que q...

Procesamiento por lotes [Batch insert]

Procesamiento por lotes [Batch insert]

En ocasiones debemos insertar varios registros a nuestra base de datos desde nuestra aplicación java y lo que usualmente...

Resolución de pantalla con LibGDX

Resolución de pantalla con LibGDX

En este tutorial, veremos un poco más de lo que son las texturas en libGDX y dos maneras de añadirlas a nuestros juegos,...

Arreglos en Visual Basic

Arreglos en Visual Basic

Un array es un conjunto finito y ordenado de elementos homogeneos. Ordenado porque los elementos n-esimo de un array pue...

Procedimientos almacenados en MySQL con Megan Fox

Procedimientos almacenados en MySQL con Megan Fox

Los procedimientos almacenados en MySQL son similares a los procedimientos de otros lenguajes de programación en el sent...

Comparte lo que sabes

Categorias

Últimas entradas

“MyBatis es una herramienta de persistencia Java que se encarga de mapear sentencias SQL y procedimientos almacena...

MyBatis es un framework de persistencia Java que se encarga de mapear sentencias SQL y procedimientos almacenados a part...

Webcam Capture es un API  que permite usar una cámara web incorporada o externa directamente desde código Java utilizand...

im4java es una interfaz pura de Java para la línea de comandos de ImageMagick. La interfaz de la línea de comandos de IM...

Herramientas

Generador de Enlaces a Whatsapp