Code javascript ne répond pas entièrement

Résolu/Fermé
Martial - Modifié par jordane45 le 29/01/2017 à 18:36
 Martial - 1 févr. 2017 à 09:38
Bonjour,
sur mon site meteo.vieuxboucau.org, j'ai une sonde UV.
Je veux indiquer le niveau de protection pour chaque indice d'UV.
Seule la valeur $UV="0" semble prise en compte..... ou est l'erreur ?

Ci dessous extrait du code :
<?php  echo '<td>'.$Tr_UV.'</td><td>'.$UV.'</td><td>'; ?>  <script language="javascript">

<script language="javascript">
       </script>
       <script type="text/javascript">
         var $UV="";
         if ($UV>"0" && $UV<"3"){document.write('<span style="color: black; background-color: #c8ef68;">  Faible pas de protection nécessaire  </span><br />');} else
         if ($UV>="3" && $UV<"6"){document.write('<span style="color: black; background-color: #ffe56f;">  Modéré  </span><br />');} else
         if ($UV>="6" && $UV<"8"){document.write('<span style="color: black; background-color: #ff953f;">  Elevé  </span><br />');} else
         if ($UV>="8"){document.write('<span style="color: black; background-color: #ff2f4b;">  Très élevé  </span><br />');} else
         if ($UV="0"){document.write('<span style="color: black;">   pas de protection nécessaire     </span><br />');}
       </script>

[]

EDIT : Ajout des balises de code

Merci de votre aide.
Martial

A voir également:

6 réponses

Utilisateur anonyme
29 janv. 2017 à 16:33
Le code est écrit exactement comme ça? Car là il y a une balise script qui est ouverte sans être refermée et une autre qui est vide.

Ensuite le var $UV définit juste une variable JS qui se nomme $UV mais n'a aucun lien avec la variable définit en php si il n'y a pas d'echo ou print.

Après pourquoi utiliser du JS alors que le PHP suffit vu que tu ne fait que du document.write un echo en PHP suffit.

Enfin pourquoi mettre des guillemets autour des chiffres, vu que ça sera une comparaison de type int qui sera fait.
0
Bonjour

J'ajouterai :
Pourquoi tester la valeur de $UV immédiatement après avoir initialisé var $UV="" ?
if ($UV="0") ne teste pas la valeur de $UV, mais lui donne la valeur "0". Le test serait if ($UV=="0").
0
jordane45 Messages postés 38262 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 27 octobre 2024 4 693
29 janv. 2017 à 18:53
Bonjour,

Plusieurs erreurs dans ton code ...
je suppose que ton $UV dans ton JS est, d'après toi...., le contenu de la variable php $UV .....

Pour ça .. tu dois procéder ainsi :
   var uv = parseInt("<?php echo $UV;?>");


Puis, pour tes IF ..
   
   if (uv>0 && uv<3){
      result = ('<span style="color: black; background-color: #c8ef68;">  Faible pas de protection nécessaire  </span><br />');
   } else if (uv>=3 && uv<6){
      result('<span style="color: black; background-color: #ffe56f;">  Modéré  </span><br />');
   } else if (uv>=6 && uv<8){
      result('<span style="color: black; background-color: #ff953f;">  Elevé  </span><br />');
   } else if (uv>=8){
     result('<span style="color: black; background-color: #ff2f4b;">  Très élevé  </span><br />');
   } else if (uv==0){
     result('<span style="color: black;">  pas de protection nécessaire </span><br />');
   }
 
 document.write(result);


Perso.. j'aurais plutôt écrit ton code comme ceci :
   var result = "";
   var bgcolor ="";
   var txt = "";
   
   var uv = parseInt("<?php echo $UV;?>");
      
   swtich(true){
   case (uv >= 8) :
     bgcolor = "#ff2f4b";
     txt = "Très élevé";
    break;
   case (uv >= 6) :
     bgcolor = "#ff953f";
     txt = "Elevé";
    break;
   case (uv >= 3) :
     bgcolor = "#ffe56f";
     txt = "Modéré";
    break;
   case (uv >= 1) :
     bgcolor = "#c8ef68";
     txt = "Faible pas de protection nécessaire";
    break;
   case (uv == 0) :
     bgcolor = "";
     txt = "pas de protection nécessaire";
    break;
   }
   result = "<span style='color: black; background-color: "+bgcolor+"'>"+txt+"</span><br>";
   document.write(result);



0
Bonjour et merci :
A
ZeNairolf
Le père
Jordane45

Vous l'avez certainement compris je ne connais rien au Javasript.
J'ai tout simplement pompé ce script sur un site et depuis des jours et des jours j'essaie de l'adapter !
je vais essayer de comprendre vos solutions et de les mettre en pratique.
Je reviendrais vers vous à ce moment la, en attendant soyez en remercié mille fois.
Martial
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Et pour ce faire.....j'attends qu'il y est des UV !!
A+

Martial
0
Bonjour

Ca y est ya du soleil et ......ça marche !!!
j'ai pu tester certains indice, pas de raison que les autres répondent différemment.
Merci encore de votre aide, j'étais vraiment mal parti.
par contre es ce que je peux mettre un lien pour une page sur le mot protection ?
if (uv>0 && uv<3){
result = ('<span style="color: black; background-color: #c8ef68;"> Faible pas de protection nécessaire </span><br />');
Dreamwierver ne semble pas le permettre.
Merci encore.
Martial
0
jordane45 Messages postés 38262 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 27 octobre 2024 4 693
31 janv. 2017 à 13:00
Balise html <a>
0
Martial > jordane45 Messages postés 38262 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 27 octobre 2024
31 janv. 2017 à 17:04
Es ce ça marche sur un include ?
parce que chez mo,i ça marche pas !!
0
jordane45 Messages postés 38262 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 27 octobre 2024 4 693 > Martial
31 janv. 2017 à 18:38
Tu l'as écrit comment ?
0
Martial > jordane45 Messages postés 38262 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 27 octobre 2024
31 janv. 2017 à 22:08
</script>
<script type="text/javascript">
var uv = parseInt("<?php echo $UV;?>");

if (uv>0 && uv<3){
result = ('<span style="color: black; background-color: #c8ef68;"> Faible pas de <a href="uv_protection.php" rel="nofollow noopener noreferrer" target="_blank">protection nécessaire </span><br />');
} else if (uv>=3 && uv<6){

result = ('<span style="color: black; background-color: #ffe56f;"> Modéré protection nécessaire </span><br />');
} else if (uv>=6 && uv<8){
result = ('<span style="color: black; background-color: #ff953f;"> Elevé protection nécessaire </span><br />');
} else if (uv>=8){
result = ('<span style="color: black; background-color: #ff2f4b;"> Très élevé </span><br />');
} else if (uv==0){
result = ('<span style="color: black;"> Pas d' UV </span><br />');
}

document.write(result);
</script>
0
jordane45 Messages postés 38262 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 27 octobre 2024 4 693
31 janv. 2017 à 22:24
Tu as oublié le </a> ....
0