Clase BaseDatos esta va a ser llamada por nuestro programa que gestionará la operación correspondiente.
Código PHP:
<?php
/*
Programador: cesarpi80
programa: funciones.php
Managua - Nicaragua 2006
*/
class BaseDatos
{
var $sql2=" ";
var $sentencia;
var $tabla;
var $conexion;
//Conexion y tabla
function parametros($conexion,$tabla)
{
$this->conexion = $conexion;
$this->tabla = $tabla;
}
//Guardando los datos
function guardar()
{
$numargs = func_num_args();
for ($i = 0;$i < $numargs;$i++)
{
$arr1[$i] = func_get_arg($i);
}
$sentencia = "";
$i = count($arr1);
for ($j=0;$j<$i;$j++)
{
$sentencia .="'";
$sentencia .=$arr1[$j];
$sentencia .="'";
if ($j <> ($i-1)){
$sentencia .=",";}
}
if ($this->sql2 ==" ") {
$sql = "insert into $this->tabla values ($sentencia)";
} else {
$sql = "insert into $this->tabla ($this->sql2) values ($sentencia)";
}
$resultado = pg_query($this->conexion,$sql);
}
function Campos()
{
$numargs = func_num_args();
for ($i = 0;$i < $numargs;$i++)
{
$arr1[$i] = func_get_arg($i);
}
$sentencia = "";
$i = count($arr1);
for ($j=0;$j<$i;$j++)
{
$sentencia .=$arr1[$j];
if ($j <> ($i-1)){
$sentencia .=",";}
}
$this->sql2 = $sentencia;
}
//Borrar de la base de datos
function Borrar()
{
$numargs = func_num_args();
for ($i = 0;$i < $numargs;$i++)
{
$arr1[$i] = func_get_arg($i);
}
$sentencia = "";
$i = count($arr1);
for ($j=0;$j<$i;$j++)
{
if (($j % 2)==0) {
$sentencia .=$arr1[$j];
} else
{
$sentencia .=" = '";
$sentencia .=$arr1[$j];
$sentencia .="'";
if ($j <> ($i-1)){
$sentencia .=" and ";}
}
}
$sql = "delete from $this->tabla where $sentencia";
$resultado = pg_query($this->conexion,$sql);
}
function Criterio()
{
$numargs = func_num_args();
for ($i = 0;$i < $numargs;$i++)
{
$arr1[$i] = func_get_arg($i);
}
$sentencia = "";
$i = count($arr1);
for ($j=0;$j<$i;$j++)
{
if (($j % 2)==0) {
$sentencia .=$arr1[$j];
} else
{
$sentencia .=" = '";
$sentencia .=$arr1[$j];
$sentencia .="'";
if ($j <> ($i-1)){
$sentencia .=" and ";}
}
}
$this->sentencia = $sentencia;
}
function Actualizar()
{
$numargs = func_num_args();
for ($i = 0;$i < $numargs;$i++)
{
$arr1[$i] = func_get_arg($i);
}
$sentencia = "";
$i = count($arr1);
for ($j=0;$j<$i;$j++)
{
if (($j % 2)==0) {
$sentencia .=$arr1[$j];
} else
{
$sentencia .=" = '";
$sentencia .=$arr1[$j];
$sentencia .="'";
if ($j <> ($i-1)){
$sentencia .=",";}
}
}
$sql3 = "update $this->tabla set $sentencia where $this->sentencia";
echo $sql3;
$resultado = pg_query($this->conexion,$sql3);
}
} //Fin de la Clase
?>
Código PHP:
<?php
include ("funciones.php");
include ("conexion.php");
$ruc = "694";
$apellido1 = "Morientes";
$apellido2 = "Owen";
//Conexion a la base de datos
$conexion = conectar();
//Creación del Objeto y de sus parametros
$base = new BaseDatos;
$base->parametros($conexion,"dgi_ruc_natural");
/*Guardar en campos específicos, si se va a guardar en unos cuantos campos
se manda a llamar Campos(campo1,campo2,...,campon),
donde se le pasa el nombre de los campos a accesar
Guardar(valor1,valor2,...,valor3)*/
$base->Campos("ruc","nombre_1apell","nombre_2apell");
$base->guardar($ruc,$apellido1,$apellido2);
/*
Si se va a Guardar directamente en todos los campos solo hacemos el llamado a guardar(campos);
*/
/*Borrar de la base de datos, parametros pasados, nombre del campo a buscar
Y el valor a buscar en la base de datos, pueden ser cuantos uno quiera.
Borrar(campo1,valor1,campo2,valor2,...,valorn,campon)*/
//$base->parametros($conexion,"dgi_ruc_juridica");
//$base->Borrar("ruc","230704902");
/*Actualizar en la base de datos Criterio(campo1,valor1,campo2,valor2, ... , campon,valorn)
* Actualizar(campo1,valor1,campo2,valor2, ... , campon,valorn)
*/
//$base->Criterio("ruc",$ruc);
//$base->Actualizar("nombre_nombre","Michael");
?>
Y espero que les pueda servir de algo, como me ha servido a mi bastante.
PD: Para usarla en MySql solo se cambian las funciones pg por mysql.