Auteur Sujet: Affichage D'images En Mysql....  (Lu 1826 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne nicodiz

  • Débutant
  • *
  • Messages: 56
    • http://www.nicodiz.com
Affichage D'images En Mysql....
« le: 29 septembre 2004 à 02:18:09 »
bonjour à tous, je n'arrive pas à afficher les images que j'ai stocké dans une base de données.....

J'ai réussi à créer un formulaire d'upload dans lequel j'utilise les variables is_uploaded_file et move_uploaded_file pour enregistrer mes photos dans un champ image..... ca se passe correctement pour la requette d'insertion.

par contre, j'ai fais une requete select* from ma_table .... mais quand je fais un <img src=$image_name> .... il m'affiche le squelette de l'image voir la page ici

sauriez vous si je dois mettre un chemin spécifique pour afficher mon image

J'espère que j'aurais été clair dans mes explication .....
nico

Hors ligne jcmartin01

  • Débutant
  • *
  • Messages: 24
    • http://ziquodrome.phpnet.org
Affichage D'images En Mysql....
« Réponse #1 le: 29 septembre 2004 à 03:23:16 »
salut,
si $image_name est un des champs de ta base de données
alors il ne faut pas ecrire
echo "<img src=$image_name>"
mais echo "<img src='".$row["image_name"]."'>"

c'est probablement une réponse un peu pipo que je te donne mais j'ai regardé ta page, le code qui est sensé afficher ton image est <img src=''>

alors tu as mal initialisé $image_name c'est l'explication la plus bete qui me vienne à l'esprit

$query="select * from table"; // ta requete
$result=mysql_query($query); // execute ta requete
$row=mysql_fetch_array($result) // regarde le premier resultat
echo $row["image_name"]; // affiche le champ "image_name" de ta table

et pour regarder toutes tes images :

while ($row=mysql_fetch_array($result))
{
 ...
}

enfin voila.... bon courage en tout cas

JC
------------------
http://ziquodrome.phpnet.org/?url=photo
------------------
 

Hors ligne Jacques Ghémard

  • Habitué
  • **
  • Messages: 224
    • http://www.francaislibres.net
Affichage D'images En Mysql....
« Réponse #2 le: 30 septembre 2004 à 09:53:24 »
Bonjour,

Je crois comprendre que tu essayes d'enregistrer l'image elle même dans la base de données et non pas simplement son nom ...

Si c'est ça, cela me paraittrait assez gonflé.

Personellement j'enregistre l'image dans un dossier et j'enregistre le nom de l'image dans la base de données. Sinon, même si c'était possible, enregistrer une image dans la base lui donnerait rapidement un volume impressionnant.

Amicalement
Jacques
« Modifié: 30 septembre 2004 à 09:54:20 par Jacques Ghémard »

Hors ligne nicodiz

  • Débutant
  • *
  • Messages: 56
    • http://www.nicodiz.com
Affichage D'images En Mysql....
« Réponse #3 le: 30 septembre 2004 à 11:11:37 »
merci pour vos réponses,

en fait j'ai crée un répertoire upload sur mon serveur qui accueille les images, et j'ai un champ image dans la base de données qui accueille le nom de l'image.....

L'upload se passe très bien, l'image est visible dans le répertoire et le nom de l'image est présent dans la base.

Le problème c'est que je n'arrive pas à afficher l'image avec le reste de ma fiche lorsque je fais un select.....  

Hors ligne Ice

  • VIP
  • *****
  • Messages: 2 403
    • ATFX
Affichage D'images En Mysql....
« Réponse #4 le: 30 septembre 2004 à 11:22:37 »
si tu as le bon nom de fichier dans la table et que le fichier sur ton ftp est valide et porte le meme nom , ca ne devrait pas être trop dur.
Peux tu nous mettre ton code qui permet de recuperer le nom du fichier dans la base et l'afficher ?

Hors ligne nicodiz

  • Débutant
  • *
  • Messages: 56
    • http://www.nicodiz.com
Affichage D'images En Mysql....
« Réponse #5 le: 30 septembre 2004 à 11:59:38 »
voila le code de ma requete actuelle .... le fichier s'appelle agence.jpg et se situe dans un répertoire nommé upload.... le résultat est situé ICI.
       
<?
include("connect.php");                    
  //construction de la requete
  $sql= "select * from portefolio ORDER BY id DESC limit 1";
  //execution de la requete
  $result=mysql_query($sql);
  //affichage de la requete
  while($row=mysql_fetch_array($result))
  {
   $id=$row["id"];
   $nom=$row["nom"];
   $type=$row["type"];
   $statut=$row["statut"];
   $techno=$row["techno"];
   $lien=$row["lien"];
   $image=$row["image"];
  echo"<table width=\"400\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
        echo"<tr>";
        echo"<td>&nbsp;</td>";
        echo"<td width=\"150\" rowspan=\"5\"><img src=upload/$image></td>";
        echo"</tr>";
        echo"<tr>";
        echo"<td><font size='2' face='Verdana'>Nom: $nom</font></td>";
        echo"</tr>";
        echo"<tr>";
        echo"<td><font size='2' face='Verdana'>Type: $type</font></td>";
        echo"</tr>";
        echo"<tr>";
        echo"<td><font size='2' face='Verdana'>Statut: $statut</font></td>";
        echo"</tr>";
        echo"<tr>";
        echo"<td width=\"250\"><font size='2' face='Verdana'>Technologies: $techno</font></td>";
        echo"</tr>";
  echo"<tr>";
        echo"<td width=\"250\"><font size='2' face='Verdana'>Lien: <a href=\"$lien\" class=\"menulink\" target=\"_parent\">Visiter le site</a></font></td>";
        echo"</tr>";
        echo"</table>";  
  }
include("disconnect.php");
?>

Hors ligne Ice

  • VIP
  • *****
  • Messages: 2 403
    • ATFX
Affichage D'images En Mysql....
« Réponse #6 le: 30 septembre 2004 à 12:27:52 »
Citer
voila le code de ma requete actuelle .... le fichier s'appelle agence.jpg et se situe dans un répertoire nommé upload
Déja , pour l'image, soit elle ne s'appelle pas agence.jpg , soit elle ne se trouve pas dans le répertoire upload (Vérifie donc sur ton ftp)
 
http://nicodiz.phpnet.org/maquette/upload/agence.jpg --> Erreur 404

Donc deja , si ca , ca ne passe pas , inutile pour l'instant de chercher plus loin

Hors ligne nicodiz

  • Débutant
  • *
  • Messages: 56
    • http://www.nicodiz.com
Affichage D'images En Mysql....
« Réponse #7 le: 30 septembre 2004 à 12:37:35 »
le répertoire upload existe mais il est pas situé à ce chemin.....le chemin est le suivant http://nicodiz.phpnet.org/maquette/admin/p...load/agence.jpg il est protégé par un htaccess

Hors ligne Ice

  • VIP
  • *****
  • Messages: 2 403
    • ATFX
Affichage D'images En Mysql....
« Réponse #8 le: 30 septembre 2004 à 12:40:29 »
dans ce cas là , au lieu de cette ligne :
echo"<td width=\"150\" rowspan=\"5\"><img src=upload/$image></td>";

il te faut cette ligne :
echo"<td width=\"150\" rowspan=\"5\"><img src='admin/portefolio/upload/$image'></td>";

mais sur ta page http://nicodiz.phpnet.org/maquette/ , il va te demander un login et pass si tu garde ce htaccess
« Modifié: 30 septembre 2004 à 12:40:55 par Ice »

Hors ligne nicodiz

  • Débutant
  • *
  • Messages: 56
    • http://www.nicodiz.com
Affichage D'images En Mysql....
« Réponse #9 le: 30 septembre 2004 à 12:48:35 »
effectivement, ca fonctionne bien avec cet url et il me demande le htaccess..... Je l'ai supprimé pour montrer que ca fonctionne ^^

 

Hors ligne Ice

  • VIP
  • *****
  • Messages: 2 403
    • ATFX
Affichage D'images En Mysql....
« Réponse #10 le: 30 septembre 2004 à 13:00:19 »
tu peux peut etre ajouter un htaccess dans ton repertoire upload qui permet de voir certains type de fichier sans être authentifié:
je pense que ce sujet peut t'aider : http://www.phpnet.org/forum/index.php?showtopic=5468&hl=
« Modifié: 30 septembre 2004 à 13:00:48 par Ice »

Hors ligne nicodiz

  • Débutant
  • *
  • Messages: 56
    • http://www.nicodiz.com
Affichage D'images En Mysql....
« Réponse #11 le: 30 septembre 2004 à 13:22:18 »
ah ok...... sinon j'ai déplacé mon répertoire upload à la racine du site ..... mais cette solution a l'air intéressante.

Merci pour tout ^^

Hors ligne NICO100

  • Débutant
  • *
  • Messages: 96
    • http://www.bestiaire.org
Affichage D'images En Mysql....
« Réponse #12 le: 30 septembre 2004 à 13:41:55 »
Quand je vais sur ta page l'adresse de l'image est:
http://nicodiz.phpnet.org/upload/a
Ca ne me parait pas correct! ;)
Le jeu du Bestiaire
http://jeu.bestiaire.org/

Hors ligne nicodiz

  • Débutant
  • *
  • Messages: 56
    • http://www.nicodiz.com
Affichage D'images En Mysql....
« Réponse #13 le: 30 septembre 2004 à 14:18:44 »
si si c'est juste que je viens de modifier les répertoires.... c'est pour ca qu'on ne voit plus l'image, mais cela fonctionne très bien sinon ^^