D?affichage image dans base mysql ( champ de type blob )
fredericmaill
Messages postés144Date d'inscriptionmercredi 16 juin 2004StatutMembreDernière intervention22 mars 2006
-
16 déc. 2005 à 20:46
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 2012
-
19 déc. 2005 à 12:35
Bonsoir,
J'ai un problème pour afficher des images contenues dans ma base mysql dans un champ blob d'une de mes tables.
La structure ma table « image est la suivante :
Structure de la table `image`
--
CREATE TABLE `image` (
`imag_id` int(10) NOT NULL auto_increment,
`imag_nom` varchar(20) default NULL,
`imag_type` varchar(10) NOT NULL default '',
`imag_taille` varchar(20) NOT NULL default '',
`imag_lienrep` varchar(50) NOT NULL default '',
`imag_image` longblob NOT NULL,
`id_boutique` varchar(50) NOT NULL default '',
PRIMARY KEY (`imag_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Image' AUTO_INCREMENT=2 ;
Voici un exemple d'enregistrement du champ imag_type de la table image : image/pjpe
<?
$sql = new mysql("localhost","root","", "$base","1","erreur" );
$sql->requete("SELECT * FROM image WHERE id_boutique = ".$id,"0");
while( $val = $sql->resultat(0) )
{
echo'
<td>
';
echo '
';
header('Content-Type:'.$val['imag_type'].''); // ligne 239
echo $val["imag_image"];
}
?>
Ce code m?affiche des symboles curieux, comme si il m?affichait les images en mode binaire
Un exemple :
Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\formnafnaf\index.php:2) in c:\program files\easyphp1-8\www\formnafnaf\index.php on line 239
? JFIF , ,?ICC_PROFILE HLino mntrRGB XYZ 1acspMSFTIEC sRGB?ӭHP cprt P3desc ?lwtpt ? bkpt rXYZ gXYZ , bXYZ @ dmnd Tpdmdd Ā?vued L?view Ԁ$lumi ?meas $tech 0 rTRC < gTRC < bTRC < textCopyright (c) 1998 Hewlett-Packard Companydesc sRGB IEC61966-2.1 sRGB IEC61966-2.1XYZ ̘YZ XYZ o?8??XYZ b??? ژYZ $? ??Ϥesc IEC http://www.iec.ch IEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view ??ϔ 팀 \? XYZ L VPW¬筥as ? sig CRT curv #(-27;@EJOTY^chmrw|??????????????ƀˀЀՀۀ?뀰? ¬ % + 2 8 > E L R Y ` g n u | ? ? ? ? ? ? ? ? ?Ɂсفၩ & / 8 A K T ] g q z ? ? ? ? ? ? ?˂Ղ? ? ! - 8 C O Z f r ~ ? ? ? ? ? ǃӃ? ? - ; H U c q ~ ? ? ? ? Ąӄᄰ ? : I X g w ? ? ? ? ŅՅ其 ' 7 H Y j { ? ? ? ?цㆵ +=Oat????҇凸 ¬ 2 F Z n ? ? ? ? ҈爻 % : O d y ? ? ? ω剻 ' = T j ? ? ? Ŋ܊" 9 Q i ? ? ? ȋዹ * C \ u ? ? ?ٌ& @ Z t ? ? Íލ?
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015 16 déc. 2005 à 23:15
Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\formnafnaf\index.php:2) in c:\program files\easyphp1-8\www\formnafnaf\index.php on line 239
Les header sont déja envoyés ligne 2 tu ne peut les remodifiers... .. .
Personnellement je dirais qu'il faut que ton fichier générant les images soit à part et soit appelé via la balise image genre...
ce qui donnerait... dans ta page...
$sql = new mysql("localhost","root","", "$base","1","erreur" );
$sql->requete("SELECT imag_id,imag_nom FROM image WHERE id_boutique = ".$id,"0");
while( $val = $sql->resultat(0) ) {
echo'<td>
</td>';
}
et dans ta page image.php...
if(isset($_GET['id']) && !empty($_GET['id']) && is_numeric($_GET['id'])){
$sql = new mysql("localhost","root","", "$base","1","erreur" );
$result $sql->requete("SELECT imag_type,imag_image FROM image WHERE id_boutique ".$_GET['id'],"0");
$img = $sql->resultat(0);