Sunteți pe pagina 1din 8

Manual ADOdb

Kevin J. V. M.
http://adodb.sourceforge.net/

MANUAL ADODB

Qu es ADOdb?
ADOdb es una biblioteca de clases de bases de datos en PHP para proporcionar abstracciones ms
ponderosas, realizar consultas y gestinar bases de datos. ADOdb tambin oculta las diferencias entre
las bases de datos para que pueda cambiar fcilmente dbs sin cambiar el cdigo.
Actualmente soporta un increble nmero de bases de datos, gracias a la maravillosa comunidad
ADOdb: MySQL, PostgreSQL, Interbase, Firebird, Informix, Oracle, MS SQL, Foxpro, Access, ADO,
Sybase, FrontBase, DB2, SAP DB, SQLite, Netezza, LDAP y ODBC genrico, ODBTP.
El Sybase, Informix, FrontBase y PostgreSQL, Netezza, LDAP, los conductores ODBTP son
contribuciones de la comunidad.

Tipo de Licencia
License
BSD License, GNU Library or Lesser General Public License version 2.0 (LGPLv2)

Primeros Pasos
Descargar la libreria ADOdb del siguiente enlace http://sourceforge.net/projects/adodb/files/adodbphp5-only/adodb-519-for-php5/
Cada vez que se necesite hacer una pagina se tiene que extraer el contenido del rar en una nueva
carpeta dentro de htdocs.

MANUAL ADODB

Practica - Insertar, Actualizar y Eliminar un registro y


visualizar su tabla
Crear una nueva base de datos con una tabla de producto mediante el siguiente codigo o por medio de
la interfaz grafica de phpmyadmin.
Create table Producto(
idprod int not null auto_increment,
prod varchar(30),
existencia tinyint,
constraint pkprod primary key(idprod)
)
Crear el procedimiento almacenado para inserter, actualizar y eliminar.
Create procedure iud_producto(in idprod_1 int,in prod_1 varchar(30),in exist_1 tinyint,in opc_1
varchar(9))
Begin
case opc_1
when 'Agregar' then
insert into producto(prod,existencia)values(prod_1,exist_1);
when 'Modificar' then
update producto set prod =prod_1,existencia=exist_1 where
Idprod=idprod_1;
when 'Borrar' then
delete from producto where Idprod =idprod_1;
end case;
end//

MANUAL ADODB

Crear un nuevo archivo conexion.php en nuestra carpeta del proyecto.

Lo abrimos con nuestro editor de paginas de web, y a continuacion se explicara el codigo que nos
servira para conectar a nuestra base de datos usando programacion orientada a objetos.
<?php
include('./adodb5/adodb.inc.php');//se importan los drivers de conexion ADOdb
class conexion{
private $sgbd='mysql';//se elige el gestor de base de datos en este caso MySQL
private $servidor='localhost';//el nombre del servidor
private $usr='user';//nombre del usuario
private $pwd='hola';//contrasea del usuario
private $db='bd2';//nombre de la base de datos
public function _construct(){//metodo constructor solo se necesita crearlo
}

public function conectar(){//funcion que se utilizara cada vez que nos conectemos a la BD
$con=NewADOConnection($this->sgbd);//Se crea una nueva conexion
$con->Connect($this->servidor,$this->usr,$this->pwd,$this->db);//recibe los
parametros de la clase
return $con;//regresa la conexion
}
}
?>
Agregar un nuevo archivo formProducto.php en nuestra carpeta del proyecto, este archivo contendra
nuestro formulario para hacer las operaciones de insert, delete y update usando procedimientos
almacenados y asi como mostrar una tabla con los registros de la base de datos.
Nota: El codigo en color gris se utilizara mas adelante.

MANUAL ADODB

<html>
<body>
<?php
include('./adodb5/adodb.inc.php');
include('conexion.php');
include('producto.php');
$idprod = isset ($_GET['id_prod'] )?$_GET['id_prod']:'';
$prod = isset ($_GET['nom_prod'] )?$_GET['nom_prod']:'';
$exist = isset ($_GET['exist'] )?$_GET['exist']:'';
?>
<form action="iud-Producto.php" method="Post">
<table border="1" align="center" >
<tr>
<td colspan="2" align="center">Producto</td>
</tr>
<tr>
<input type="hidden" name="id_prod" value='<?php echo $idprod; ?>' /><!--//el codigo php se utilizara
para cuando se busque actualizar. -->
</tr>
<tr>
<td>Nombre del Producto:</td>
<td><input type="text" name="nom_prod" value='<?php echo $prod; ?>' /></td>
</tr>
<tr>
<td>Existencia:</td>
<td><input type="text" name="exist" value='<?php echo $exist; ?>' /></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" name="boton" value="Agregar" />
<input type="submit" name="boton" value="Modificar" />
<input type="submit" name="boton" value="Borrar"/></td>
</tr>
</table>
</form>
<br/>
<?php
$objcte=new producto();
$resultado=$objcte->getProducto();
?>
<table align='center' border='1'>
<tr>
<td align="center">Seleccion</td>
<td align="center">Producto</td>
<td align="center">Existencia</td>
<?php while(!$resultado->EOF) {
echo "<tr>";

MANUAL ADODB

$idprod = $resultado->fields[0];
$prod = $resultado->fields[1];
$exist = $resultado->fields[2];
echo "<tr><td><a
href='formProd.php?id_prod=$idprod&nom_prod=$prod&exist=$exist'>Seleccione</a></td><td>$prod</td><t
d>$exist</td></tr>";
echo "</tr>";
$resultado->MoveNext();
}
?>
</table>
</body>
</html>
Cuando se de clic en algunos de los botones del formulario se mandara a llamar a un nuevo archivo en
php llamado iud-Producto.php, creamos un nuevo archivo con ese nombre y lo dejamos adentro de la
carpeta htdocs. Este archivo mandara a ejecutar el procedimiento almacenado para hacer un insert,
update o delete segun sea el caso.
<?php
include('./adodb5/adodb.inc.php');//se importan los drivers de conexion ADOdb
include('conexion.php');//se importa el archivo de conexion
include('producto.php');//se importa el archivo que contiene los metodos para ejecutar
instrucciones SQL
$idprod= $_POST['id_prod'];//recibe el parametro del id
$prod= $_POST['nom_prod'];//recibe el parametro del nombre del producto
$exist= $_POST['exist'];//recibe el parametro de la existencia
$opcion = $_POST['boton'];//recibe el parametro con la opcion
pulsada(Agregar,Modificar,Eliminar)
if($idprod==''){//Se utiliza para que no quede vacio $idprod para poder ejecutar el
procedimiento
$idprod=0;//almacenado al querer Agregar un producto nuevo,no puede recibir
parametros vacios
}//se le asigna un cero solo para que no quede vacio.(No afecta en nada al insert)
$objprod=new producto();//Se crea un objeto de la clase producto en producto.php
$objprod->iudProducto($idprod,$prod,$exist,$opcion);//Se ejecuta el metodo de la clase
producto
//y se le mandan los parametros.
header("location:formProducto.php");//Refresamos al formulario de inicio.
?>

MANUAL ADODB

Crear un nuevo archivo producto.php, este contendra las instrucciones para realizar la ejecucion de
las intrucciones en mysql.
<?php
class producto{
public function _construct(){
}
public function getProducto(){
$con= new conexion;//jalar conexion
$db= $con->conectar();//asiganar conexion a $db
$sql="select * from producto";//instruccion select
$rs=$db->Execute($sql);//ejecutar consulta
return $rs;
}
public function iudProducto($idprod,$prod,$exist,$opcion){//recibe los parametros de iudProd.php
$con=new Conexion();//jalar conexion
$db=$con->conectar();//asiganar conexion a $db
$sql="call iud_producto($idprod,'$prod',$exist,'$opcion')";//instruccion para
ejecutar un procediento almacenado
$db->Execute($sql);//ejecutar consulta
}
}
?>

Para continuar se explicaran las lineas de codigo que estan en color gris, regresamos al formProd.php
para ver el archivo con lo siguiente.

<?php
include('./adodb5/adodb.inc.php'); //se importan los drivers de conexion ADOdb
include('conexion.php'); //se importa el archivo de conexion
include('producto.php'); //se importa el archivo que contiene los metodos para ejecutar
instrucciones SQL
$idprod = isset ($_GET['id_prod'] )?$_GET['id_prod']:''; //se utiliza para bajar los parametros
$prod = isset ($_GET['nom_prod'] )?$_GET['nom_prod']:''; //del url para llenar las cajas de texto
$exist = isset ($_GET['exist'] )?$_GET['exist']:''; //y poder modificar o eliminar al seleccionar un registro
?>

MANUAL ADODB

<?php
$objcte=new producto();//Se crea un objeto de la clase producto en producto.php
$resultado=$objcte->getProducto();//se manda a llamar al metodo para llenar una tabla
//y poder seleccionar un registro para modificar o eliminar
?>
<table align='center' border='1'>
<tr>
<td align="center">Seleccion</td>
<td align="center">Producto</td>
<td align="center">Existencia</td>
<?php while(!$resultado->EOF) {//un ciclo recorrera los registros obtenidos de la llamada al metodo
getProducto
echo "<tr>";
$idprod = $resultado->fields[0];//los datos se obtienen de recorrer el
arreglo
$prod = $resultado->fields[1];//el orden depende de los campos de la
consulta
$exist = $resultado->fields[2];//se guardan los datos obtenidos en
variables php
echo "<tr><td><a
href='formProd.php?id_prod=$idprod&nom_prod=$prod&exist=$exist'>Seleccione</a></td><td>$prod</td
><td>$exist</td></tr>";//se agrega a cada fila un link para poder jalar los parametros del url
echo "</tr>";
$resultado->MoveNext();//se mueve al siguiente registro y finaliza si no existen mas
registros.
}
?>
</table>

MANUAL ADODB

S-ar putea să vă placă și