PHP : Menu déroulant de 2 images

Fermé
Eaheru Messages postés 197 Date d'inscription mercredi 23 juin 2010 Statut Membre Dernière intervention 12 mars 2018 - 2 oct. 2012 à 17:14
Eaheru Messages postés 197 Date d'inscription mercredi 23 juin 2010 Statut Membre Dernière intervention 12 mars 2018 - 3 oct. 2012 à 12:08
Bonjour,

J'essaie de construire un formulaire dans lequel je dois intégrer un menu déroulant qui comportera 2 images, un smiley vert et un autre rouge. c'est mon premier code PHP et ma première utilisation de MySQL, je galère donc un peu.
Le but est de donner à un opérateur la possibilité de signaler un problème de sécurité lors de son rapport d'activité.

Je travaille avec une base MySQL et en page PHP.
Comme je n'avais que ces 2 images de 2.4Ko, j'avais pensé les intégrer à la base de données en tant que fichier BLOB puis les appeler pour en faire le menu déroulant. Mais je n'arrive pas à trouver la bonne syntaxe.
J'ai pu lire aussi qu'il était possible de positionner les images dans un répertoire et leur chemin dans la base de données afin de les "appeler" dans le menu déroulant. Mais idem je ne trouve pas la bonne syntaxe

Voici la requete SQL :
// Creation de la requete sql pour recuperation des Smiley
$sql4 = 'SELECT Smiley_ID,IMG_smiley,Valeur_smiley,Dir_smiley FROM aic_smiley';
// On envoie la requête 
$req4 = mysql_query($sql4) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());


et l'appel que je fais pour créer le menu déroulant (la c'est la version avec les chemin d'accès) :

<?php  echo '<select name="Nom_smiley">';
		while($result4 = mysql_fetch_array($req4)) 
            {    
			echo '<img src="'.$result4['Dir_smiley'].'"> ';
            } 
		echo '</select>';	?>


Voila si quelqu'un peut m'aiguiller sur la bonne voie car je cherche depuis un bon moment, sans trouver.
Merci d'avance pour votre aide
A voir également:

2 réponses

Eaheru Messages postés 197 Date d'inscription mercredi 23 juin 2010 Statut Membre Dernière intervention 12 mars 2018 20
2 oct. 2012 à 18:06
J'ai tenté avec ce code :

<TD> <?php 
		while($result4 = mysql_fetch_array($req4))
			echo '<img src="'.$result4['Dir_smiley'].'" />';			
		?>	</TD>


La j'affiche bien mes 2 smileys, mais l'un à coté de l'autre. Sans menu déroulant, ce qui ne me convient pas.

Donc si vous avez un bout de solution, ça m'intéresse :)
je cherche toujours en même temps.
0
Eaheru Messages postés 197 Date d'inscription mercredi 23 juin 2010 Statut Membre Dernière intervention 12 mars 2018 20
Modifié par Eaheru le 3/10/2012 à 12:45
Bon je vois que la réponse ne semble pas simple...
J'en suis ici :
<?php echo '<select name="Dir_smiley">';  
  while($result4 = mysql_fetch_array($req4))  
  {  
   echo '<option value="'.$result4['Smiley_ID'].'"><img    src="'.$result4['Dir_smiley'].'"></option>';  
}  
  echo '</select>';   ?>

J'ai bien un menu déroulant de 2 choix qui se déroule, mais les "cases" sont vides. comme si l'image à afficher n'était pas trouvée.

Le paramètre "Dir_smiley" vient donc de ma base SQL et il contient les 2 url suivants :
images/smiley/vert.jpg
images/smiley/rouge.jpg
J'ai bien les fichiers sous le répertoire "images/smiley"
et ils s'affichent bien lorsque je tape http://127.0.0.1/images/smiley/vert.jpg

Le paramètre "Smiley_ID" est l'ID de chaque smiley dans la base, 1 et 2 respectivement.

La je ne vois plus comment avancer, j'aurais vraiment besoin d'un coup de main !

Edit : J'ai tenté en mettant le chemin absolu en base de données et même en n'intégrant pas les images dans un menu déroulant, l'image ne s'affiche pas mais affiche le célèbre carré blanc avec une croix rouge au centre :(

Pour etre complet :
<?php echo '<img src="'.$result4['Dir_smiley'].'">'; ?>
ceci donne le carré blanc avec la croix rouge de l'image non trouvée

<img src="http://127.0.0.1/images/smiley/vert.jpg">
ceci fonctionne et m'affiche l'image
0