NB : Tests effectués avec la version 60t de WebDev, PHP 4 et MySQL 5.0.24 (et MySQL 5.0.18)
Utilisation exclusives des ordres "H*"
Soit la table MySQL suivante :
CREATE TABLE `blobmysql` (
`IDBlobMysql` int(11) NOT NULL auto_increment,
`Titre` varchar(50) default NULL,
`pImage` longblob,
PRIMARY KEY (`IDBlobMysql`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
Dans un page WebDev PHP, ajouter un champ image. Dans le descriptif de celui-ci, définir le type "Dynamique".
Ajouter un bouton et insérer le code suivant :
HLitPremier(BlobMysql)
SI PAS HExtraitMémo(BlobMysql,pImage,"test.gif") ALORS Trace("pas extrait")
IMG_Image2 = "test.gif"
Voilà l'image s'affiche dans le champ image.
PS: Pour ajouter par programmation une image dans un BLOB
CHEMIN_IMAGE est une chaîne = "X:\Mes Sites\warning.gif"
BlobMysql.Titre = "icone warning"
SI PAS HAttacheMémo(BlobMysql,"pImage",CHEMIN_IMAGE,hMémoImg) ALORS
Trace("Erreur ajout")
SINON
HAjoute(BlobMysql)
FIN
Dans une Zone répétée mémoire :
Pour l'afficher dans une Zone répétée mémoire, même principe. Il faut surtout ne pas oublier de mettre le type dynamique dans la description de l'image. Dans le code d'initialisation de la ZR on peut mettre le code suivant :
NomFic est une chaîne
i est un entier = 0
HLitPremier(BlobMysql)
TANTQUE PAS HEnDehors()
i++
Nomfic = "$$Test"+i
HExtraitMémo(BlobMysql,pImage,Nomfic)
ZoneRépétéeAjouteLigne(ZR_BlobMysql,BlobMysql.Titre,nomfic)
HLitSuivant(BlobMysql)
FIN

Dans une Zone répétée Fichier :
Pour l'afficher dans une Zone répétée Fichier. Encore plus simple suivre l'assistant lors de la création de la Zone répétée. Une fois créée modifier le descriptif de l'image de la ZR. Mettre sur le Type : "Depuis une base de données".