Afficher+images+mysql

etudinfos01 Messages postés 11 Date d'inscription lundi 30 avril 2007 Statut Membre Dernière intervention 12 juillet 2009 - 7 août 2007 à 12:20
kishkaya Messages postés 365 Date d'inscription samedi 26 juin 2004 Statut Membre Dernière intervention 17 avril 2008 - 7 août 2007 à 13:20
Bonjour,
j'ai des images stockées dans ma base de données (mysql),j'arrive a les afficher une par page, mais du moment ou je voulais les afficher toutes dans la meme page une seule (la 1ere ou la derniere ) s'affiche et quand j'assayé chacune la case d'un tableau par exemple ,ça ne marche plus!
voici une partie de mon code:
<?php
   include("connexion.php");
  $req = "SELECT img_id, img_type, img_blob ".
      "FROM images " ;
     
  $ret = mysql_query($req)
   or die(mysql_error());
   $col = mysql_fetch_row($ret);
  while ($col )
  {
    header("Content-type: ".$col[1]);
   echo $col[2];
  }
 
?>
est ce que quelqun connait un lien utile ou quelque chose qui peut m'aider.?
merci infinement de penser a ma repondre

4 réponses

Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
7 août 2007 à 12:31
Salut,

<?php
   include('connexion.php');
  $req = 'SELECT img_id, img_type, img_blob
                      FROM images' ;
     
  $ret = mysql_query($req)
   or die(mysql_error());
  while ($col = mysql_fetch_row($ret))
  {
    header("Content-type: ".$col[1]);
   echo $col[2];
  }
 
?>

par contre le header dans la boucle, faut te débrouiller autrement, tu ne vas pas l'envoyer plusieurs fois, pour plusieur types de fichiers en plus peut-être...
0
kishkaya Messages postés 365 Date d'inscription samedi 26 juin 2004 Statut Membre Dernière intervention 17 avril 2008
7 août 2007 à 13:02
Bonjour,

header("Content-type: ".$col[1]); sert a rien
Si t'envoies une page html (meme si c'est généré avec du php ou de l'asp ca reste de l'html qui est envoyé), c'est du plain text envoyé en http. Le type mime c'est du plain text dans tous les cas, même si t'as un echo ''; au milieu du script php.

Le content type avec un mime Image c'est quand t'envoies qu'une image mais t'envoie vraiment une image t'envoie pas un texte qui fait reference a une image.
Si tu utilise la librarie GD par exmple, ben il faudra que tu mettes un content type image png ou jpg si tu veux afficher l'image généré par ton script php.
Le content type c'est juste le type d'info que t'envoies.

_Marikou
0
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
7 août 2007 à 13:07
Hello Kishkaya : de toute évidence c'est ce qu'il fait, il envoie juste une image, puisqu'il l'a mise en blob et qu'il l'affiche immediatement (pas de balise img).
0
kishkaya Messages postés 365 Date d'inscription samedi 26 juin 2004 Statut Membre Dernière intervention 17 avril 2008
7 août 2007 à 13:20
Oui mais il en envoie plusieurs, ca peut qu'etre avec une mise en forme HTML, un Mime image te permet de n'envoyer qu'une image.
(J'avais mal lu ce qu'il avait ecrit)

La solution qu'il peut adopter est un truc genre :

echo '
et dans son script sendimage.php il peut mettre un mime image.
Il recupere $_GET['bdd_image'] et fait sa requete sql puis il fait un header(content....image/jpeg); et il l'envoie.

En tombant sur un le navigateur demande l'image contenu dans l'attribut src au serveur qui la lui renvoie. Donc tu peut mettre le mime que tu peux mettre un mime image dans la reponse du serveur

_Marikou
ps: dsl pour l'orthographe je suis fatigué
0
Rejoignez-nous