[PHP-ES] [PHP/POSTGRE] IMAGEN EN CAMPO OID - SOLUCION

From: Alejandro Moreno ( alejandro.moreno .en. logiciel.com.uy)
Date: Mon Mar 01 2004 - 21:51:11 CET


Estimados:
Antes que nada, debo de agradecerles a Luis y Fernando por la colaboración,
fue MUY IMPORTANTE los comentarios vertidos en este hilo.
A continuación detallo como resolví:

<?
function obtenerFoto($idSubRubro)
{
   pg_exec($this->cnx, "BEGIN");
   $q = "SELECT fotoGrande FROM subrubros where idSubRubro = $idSubRubro";
   $rs = pg_exec($this->cnx, $q);
   $row = pg_fetch_array($rs);

   $resLoId = pg_loopen($this->cnx,$row[0], "r");
   $img = pg_loreadall ($resLoId);
   pg_loclose ($resLoId);

   pg_exec($this->cnx, "COMMIT");

   return $img;
}
?>

Nota:
-Pueden notar diferencias en las funciones de php para acceso a postgre, las
mismas estan a la vieja usanza ya que la versión de php que estoy ejecutando
es 4.1.0.

Para verlo de manera más abstracta preparé una especie de pseudocódigo tal
como yo entiendo que funciona la rutina:

claseInicio
    --------------------------------------------------
    metodo obtenerFoto(parametro)
        .comenzar transaccion (begin);
        .ejecutar consulta (idSubRubro = parametro);
        .obtener tuplas (fetch);
        .instanciar un OID en un recurso (resLoId)
        .volcar todo el recurso a variableImagen (loreadall)
        .finalizar transaccion (commit)
        .retornar variableImagen
    metodoFin
    --------------------------------------------------
claseFin

miclase = nueva_instancia_de_clase;
$laFoto = miclase.obtenerFoto(idSubRubro);

-------------------------------------------------------

Nuevamente les vuelvo a agradecer los aportes.
Un saludo
Alejandro Moreno.-

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.602 / Virus Database: 383 - Release Date: 01/03/2004
-- 
PHP Spanish Localization Talk Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


This archive was generated by hypermail 2.1.7 : Fri May 14 2004 - 16:04:33 CEST