Version complète: sur le forum Webmaster Hub : pb de comparaison de variables
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
samti
Bonjour,
J'ai un problème de comparaison de variable. Ma variable contient le nom d'une image. Je veux la comparer avec une valeur par défaut et afficher un message si elles sont égales.

Si je saisie la valeur par défaut le script fonctionne. Si je vais chercher sa valeur dans une base de donnée, il ne fonctionne pas. Pourtant si j'affiche la valeur venant de la base elle semble identique à celle que je saisie directement.

En détail :

J'ai un tableau :

$listeIcones['images1.gif']="image1.gif";
$listeIcones["image2.gif"]="image2.gif";
$listeIcones["image3.gif"]="image3.gif";


voici le script :

$selected = "image1.gif";

foreach($listeIcones as $key=>$value)
{

if($selected == $value) echo "ok";
else echo "non";

}



cette version fonctionne. Il m'affiche "ok".

Si à la place de $selected = "images1.gif"; je vais chercher ma valeur par défaut dans une base de donnée

$req = "SELECT * FROM images WHERE cat_id = 7";
$res = mysql_query($req);
$dft = mysql_fetch_array($res);

$selected = $dft['images']; // $selected affiche bien "image1.gif"


il m'affiche "non".

On dirait que la comparaison if($selected == $value) ne fonctionne pas

Une idée ??

Merci
Leonick
comme on ne connait ni na strcture de la base, ni son contenu, il ne nous est pas possible de donner une explication
samti
Mon appel à la base me renvoie

var_dump($dft) => array(2) { [0]=> string(20) "contacts_cadre.gif " ["rub_icone"]=> string(20) "contacts_cadre.gif " }
Leonick
tu compare image1.gif, image2.gif et image3.gif avec contacts_cadre.gif, c'est normal que la comparaison soit fausse
samti
c'est une erreur de ma part contacts_cadre.gif aurait dû s'appeler image1.gif pour l'exemple.

En fait le problème venait de mysql_fetch_array()

en mettant mysql_fetch_assoc() à la place je n'ai plus de problème.

La première fonction me renvoyait
var_dump($dft) => array(2) { [0]=> string(20) "contacts_cadre.gif " ["rub_icone"]=> string(20) "contacts_cadre.gif " }

la seconde me renvoie
var_dump($dft) => array(2) { ["rub_icone"]=> string(20) "contacts_cadre.gif " }

Merci pour les réponses
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.