Php et if

Résolu
Bonjour,

Je cherche à remplacer une notation par une image. Comment faire comprendre que $note doit être situé entre 2 et 3 ?

if ($note==3){ $affnote = "<img src=\"../../comments/note/3star.png\" border=\"0\">";}


Merci d'avance

7 réponses

  1. if ($note<=3 OR $note>=2)
         {
    if ($note==3){ $affnote = "<img src=\"../../comments/note/3star.png\" border=\"0\">";}   
          }
    


    Comme ça si note est compris entre 2 et 3, c'est bien ça que tu cherches ?
    1. if( $note<=3 OR $note>=2 ) => Est vrai quelque soit la valeur de $note
      => if( $note<=3 && $note>=2 )
  2. if( $note<=0 OR $note>=1){ $affnote = "<img src=\"../../comments/note/1star.png\" border=\"0\">";}
    	if( $note<=2 OR $note>=3){ $affnote = "<img src=\"../../comments/note/2star.png\" border=\"0\">";}
    	if( $note<=3 OR $note>=4){ $affnote = "<img src=\"../../comments/note/3star.png\" border=\"0\">";}
    	if( $note<=4 OR $note>=4.5){ $affnote = "<img src=\"../../comments/note/4star.png\" border=\"0\">";}
    	if( $note<=4.5 OR $note>=5){ $affnote = "<img src=\"../../comments/note/5star.png\" border=\"0\">";}


    Pour l'instant, il ne s'affiche que 5star.png quelque soit la moyenne. Je débute avec les conditions en php. Merci du coup de main !
    1. Si le problème est résolu, il faut passer le message en "résolu" en haut de la page.
  3. Je suis désolé, je me suis mal exprimé, le problème n'est pas encore résolu, car pour l'instant, c'est l'image 5stars.png qui s'affiche quelque soit la note.
    1. Tu peux essayer ça:
      if( $note<=0 && $note>=1){ $affnote = "<img src=\"../../comments/note/1star.png\" border=\"0\">";}
      elseif( $note<=2 && $note>=3){ $affnote = "<img src=\"../../comments/note/2star.png\" border=\"0\">";}
      elseif( $note<=3 && $note>=4){ $affnote = "<img src=\"../../comments/note/3star.png\" border=\"0\">";}
      elseif( $note<=4 && $note>=4.5){ $affnote = "<img src=\"../../comments/note/4star.png\" border=\"0\">";}
      elseif( $note<=4.5 && $note>=5){ $affnote = "<img src=\"../../comments/note/5star.png\" border=\"0\">";} 

      1. if( $note<=0 && $note>=1) => Toujours faux, quelque soit la valeur de $note, etc

        Sinon, pas nécessaire de faire plusieurs fois les mêmes tests:
        $starLevel = 0;
        if(empty($note)){}
        elseif($note<=1){ $starLevel = 1;}
        elseif($note<=2){ $starLevel = 2;}
        elseif($note<=3){ $starLevel = 3;}
        elseif($note<=4.5){ $starLevel = 4;}
        elseif($note<=5){ $starLevel = 5;}
        $affnote = '<img src="../../comments/note/'.$starLevel.'star.png" border="0">';
        1. Bah oui, je suis con, un variable peut par être égale à deux valeurs en même temps :)
      2. Impeccable, ça marche parfaitement comme ça. Merci à tous les deux !