Tema: Clases PHP
Ver Mensaje Individual
  #3 (permalink)  
Antiguo 29/11/2011, 07:54
Sirrohan
 
Fecha de Ingreso: julio-2010
Mensajes: 275
Antigüedad: 14 años, 5 meses
Puntos: 21
Respuesta: Clases PHP

Una vez tuve la idea de hacer un formulario que Agregara, Eliminara, Modificara y Buscara en la misma página, utilizando Javascript, PHP y PostgeSQL, me quedó algo así...
Yo tengo dos clases distintas:
Una para las consultas a la base de datos
Código PHP:
Ver original
  1. <?
  2. class Cls_conexion
  3. {
  4.     function conectar_bd()
  5.     {
  6.         $this->driver="";
  7.         $this->host="";
  8.         $this->dbname="";
  9.         $this->port="";
  10.         $this->user="";
  11.         $this->clave="";
  12.         $this->conexion = pg_connect("host='$this->host' dbname='$this->dbname' user='$this->user' password='$this->clave'");
  13.  
  14.     }
  15.     function obtener_objetos($recurso)
  16.     {
  17.         return pg_fetch_object($recurso);
  18.     }
  19.     function obtener_array($recurso)
  20.     {
  21.         return pg_fetch_array($recurso);
  22.     }
  23.     function num_columnas($query)
  24.     {
  25.         return pg_num_rows($query);
  26.     }
  27.     function desconectar_bd()
  28.     {
  29.         pg_close();
  30.     }
  31.     function consultar($sql)
  32.     {
  33.          return pg_query($sql);
  34.     }      
  35. }
  36.  ?>

Código PHP:
Ver original
  1. <?
  2. class Cls_certificado
  3. {
  4.     function Insertar_Certificado($certificado)
  5.     {
  6.         $this->conex=new Cls_conexion();
  7.         $this->conex->conectar_bd();
  8.         $this->sql="insert into certificado (cert_cod) values ('$certificado')";
  9.         $this->conexion=$this->conex->consultar($this->sql);       
  10.         $this->conex->desconectar_bd();
  11.         return $this->conexion;
  12.     }
  13.    
  14.     function Modificar_Certificado($certificado,)
  15.     {
  16.         $this->conex=new Cls_conexion();
  17.         $this->conex->conectar_bd();
  18.         $sql="update certificado set cert_cod='$certificado' where cert_cod='$certificado'";
  19.         $conexion=$conex->consultar($sql);     
  20.         $conex->desconectar_bd();
  21.         return $conexion;
  22.     }
  23.     function buscar_certificado($certificado)
  24.     {
  25.         $this->conex=new Cls_conexion();
  26.         $this->conex->conectar_bd();
  27.         $this->sql="select cert_cod from certificado where cert_cod='$certificado'";
  28.         $this->conexion=$this->conex->consultar($this->sql);
  29.         $this->resultado=$this->conex->obtener_objetos($this->conexion);
  30.         $this->conex->desconectar_bd();
  31.         return $this->resultado;
  32.     }
  33.     function listar_certificado()
  34.     {
  35.         $this->sql="select cert_cod from certificado where TRUE";
  36.         $this->conexion=pg_query($this->sql);
  37.         return $this->conexion;
  38.     }
  39. }
  40. ?>

y otro archivo donde se analizan los datos del formulario y dependiendo de cada opción se utilizan las funciones de las clases.

Código PHP:
Ver original
  1. include('../Clases/Cls_conexion.php');
  2. include('../Clases/Cls_certificado.php');
  3. $cls_certificado=new Cls_certificado();
  4. if($agregar_certificado=='' and isset($certificado))
  5. {
  6.     $insertado=$cls_certificado->Modificar_Certificado($certificado);
  7.     if($insertado)     
  8.     {
  9.         echo "insercion exitosa";
  10.     }
  11.     elseif(!$insertado)
  12.     {
  13.         echo "no se insertaron los datos";
  14.     }
  15. }
  16. elseif($certificado)
  17. {
  18.     $cert=$agregar_certificado; //Se cambia la variable para insertar
  19.     $modificado=$cls_certificado->Insertar_Certificado($cert);
  20.     if($modificado)    
  21.     {
  22.         echo "insercion exitosa";
  23.     }
  24.     elseif(!$modificado)
  25.     {
  26.         echo "no se insertaron los datos";
  27.     }
  28. }