06-02-2009, 11:22 PM
Salut, j'ai du mal à comprendre ce que tu cherches à faire, mais ça commence à rentrer.
Tout d'abord, dans ta requête il y a des problèmes.
Elle ne peut pas marcher, premièrement parce que ta clause WHERE, tu exprimes deux conditions pour le champ pays : tu exiges qu'il soit égal à $usines['pays'] et égal à $a['paysjoue']. Ca ne peut marcher que si ces deux variables se valent, puis de toute façon inutile de mettre 2 fois cette condition.
Ensuite, pour comparer des chaines de caractères dans tes conditions, il est préférable d'utiliser LIKE, plutôt que =, qui est réservé aux nombres.
Enfin, plutôt que d'envoyer 9 fois la même requête, tu pourrais l'envoyer une seule fois en modifiant ta condition et en faisant un truc genre
Sinon, pour les problèmes comme ça, je te conseille de décortiquer ton code pour déceler l'erreur. Prends l'habitude d'afficher tes variables pour connaître leur valeur lors de l'exécution du script.
Pense également à afficher les erreurs mysql avec la fonction mysql_error() ( cf php.net pour plus d'infos ), et à afficher tes requêtes.
Pour en revenir à ton problème, a priori rien ne s'affiche, et ça vient clairement de ta requête SQL.
Autre chose, quand tu fais
ton $jusfruits[$numero] vaut un nombre : 10, 8, 12... Est-ce bien ça que tu veux afficher ? Ou le nom de ton jus de fruit ? Tout d'abord, dans ta requête il y a des problèmes.
Elle ne peut pas marcher, premièrement parce que ta clause WHERE, tu exprimes deux conditions pour le champ pays : tu exiges qu'il soit égal à $usines['pays'] et égal à $a['paysjoue']. Ca ne peut marcher que si ces deux variables se valent, puis de toute façon inutile de mettre 2 fois cette condition.
Ensuite, pour comparer des chaines de caractères dans tes conditions, il est préférable d'utiliser LIKE, plutôt que =, qui est réservé aux nombres.
Enfin, plutôt que d'envoyer 9 fois la même requête, tu pourrais l'envoyer une seule fois en modifiant ta condition et en faisant un truc genre
Code :
SELECT .... FROM .... WHERE ... AND (type LIKE "orange" OR type LIKE "pomme"...)
Sinon, pour les problèmes comme ça, je te conseille de décortiquer ton code pour déceler l'erreur. Prends l'habitude d'afficher tes variables pour connaître leur valeur lors de l'exécution du script.
Pense également à afficher les erreurs mysql avec la fonction mysql_error() ( cf php.net pour plus d'infos ), et à afficher tes requêtes.
Pour en revenir à ton problème, a priori rien ne s'affiche, et ça vient clairement de ta requête SQL.
Autre chose, quand tu fais
Code PHP :
<?php
AND type='".$jusfruits[$numero]."'"
Si tu veux bien afficher ce nombre, tu peux supprimer les guillemets ( ça changera rien mais c'est plus correct ).
Si tu veux afficher le nom des jus de fruit, il faut afficher la clé du tableau et non sa valeur.
Pour cela, il faut utiliser la fonction key :
Code PHP :
<?php
key($jusfruits);