Condition

Eléphant du PHP | 113 Messages

28 août 2006, 19:16

Rebonsoir voila, SVp je voudrais savoir comment dire entre ca et ca en php??
c'est quoi l'erreur ici
if ($data['vote']== 0 || $data['vote']>= 10)
{
  echo '<img border="0" src="img/1.jpg"> ';
}
if ($data['vote']== 21 || $data['vote']>= 30)
{
  echo '<img border="0" src="img/2.jpg"> ';
}
if ($data['vote']== 31 || $data['vote']>= 40)
{
  echo '<img border="0" src="img/3.jpg"> ';
}
Modifié en dernier par knops le 28 août 2006, 20:17, modifié 1 fois.

ViPHP
ViPHP | 3607 Messages

28 août 2006, 19:20

Simplement comme ça, j'ai pas essayer de regarde en détail, mais dans requête, tu selectionnes seulement le champ 'id', et tu lui demandes ensuite d'afficher le champ 'vote', que la requête n'a pas récupérée ;-), ensuite, si tu as plus de deux valeur possible pour le champ vote, tu pourrais peut-être mettre en place une boucle :-)
--------
C'est gentil de changer complètement de sujet après avoir lu ma réponse ! :evil:
En plus ça ne peut plus reservir aux autres... Pas très constructif!
Et vu les maigres connaissances en php (et même en algorithmes de programmation) que tu nous laisses entrevoir, je ne saurait que te conseiller d'aller faire un tour vers ces sites:
http://www.siteduzero.com
http://www.phpdebutant.org
et d'autres sites, qui possèdent des tutoriaux et cours pour débutants
Modifié en dernier par jojolapine le 28 août 2006, 21:20, modifié 1 fois.

Avatar du membre
ViPHP
ViPHP | 3008 Messages

28 août 2006, 21:02

[---------------][---------------][---------------][---------------]
0--------------10--------------20-------------30--------------40

Lorsque tu veux faire des conditions "entre une valeur et une autre" tu dois parcourir un tit arbre (comme celui que j'ai fait plus haut).

Là on désire afficher 1.jpg si la valeur se trouve entre 0 et 10. Donc cette valeur doit être supérieure ou égale à 0 et inférieure ou égale à 10.

Suivant cet algo, essaie de faire la première condition et idem pour le reste ;)

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

28 août 2006, 23:36

Ce qui m'intrigue dans ton code, c'est la définition des bornes de tes intervalles.
//
if ($data['vote']== 0 || $data['vote']>= 10) echo '<img border="0" src="img/1.jpg"> ';
if ($data['vote']==21 || $data['vote']>= 30) echo '<img border="0" src="img/2.jpg"> ';
if ($data['vote']==31 || $data['vote']>= 40) echo '<img border="0" src="img/3.jpg"> ';
Si $data['vote'] vaut 31 (par exemple), les 3 conditions seront vérifiées.

C'est vraiment ce que tu souhaites ??? :?: :shock: :-k

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

29 août 2006, 00:03

Ben à priori non, ce n'est pas ce qu'il souhaite, puisque sa question initiale, c'est comment défini un interval fermé ;)

La réponse est dans le ET au lieu du OU :)
if ($data['vote'] >= 10 && $data['vote'] < 20) {  // 10 <= xx < 20
  echo '<img border="0" src="img/2.jpg"> '; 
} 

Par contre, tu dois pouvoir grandement simplifier en divisant ta note par 10 et en arrondisant à l'inférieur. Tu n'aurais même plus besoin de gérer les différents cas, suffit juste d'avoir une prévu image pour chaque chffre possible :
echo '<img border="0" src="img/' . ( floor($data['vote']/10) ) . '.jpg"> '; 

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

29 août 2006, 00:23

echo '<img border="0" src="img/' . ( floor($data['vote']/10) ) . '.jpg"> '; 
Brillant et élégant ! :pouce: =D>