colorisation celule

Forum destiné aux problèmes de Tags, recherche d’une fonction, d’un calcul, Tag qui parait ne pas fonctionner, du Tag et rien que du Tag !
Répondre
Avatar du membre
kalimero
Participation 2
Participation 2
Messages : 183
Enregistré le : 25 nov. 2008, 13:54

colorisation celule

Message par kalimero » 11 mars 2011, 10:16

Bonjour
Je cherche à coloriser une celule lors d'un changement de temperature j'utilise ceçi mais sans resultat pouvez vous m'aider
<td align="undefined" valign="undefined"> %curval[2]%
%ws_compare[4]=%curval[2]%~2~<style="background:#0000FF">~<style="background:#0000FF">%
%ws_compare[2]=%curval[2]%~20~<style="background:#0000FF">~%
</tr>

jackT
Participation 4
Participation 4
Messages : 641
Enregistré le : 29 mars 2007, 11:24
Localisation : Sciez (74)
Contact :

Re: colorisation celule

Message par jackT » 11 mars 2011, 12:10

Bonjour,

Je te conseille de faire cela en php plutôt qu'avec des tags wswin.
Cela évitera de surcharger le logiciel lors des mises à jour des fichiers, surtout si tu utilises un certain nombre de tags dans d'autres fichiers personnalisés.

Par exemple :

Code : Tout sélectionner

<?php
$temperature = %curval[2]%;
if($temperature <= '-25') {$couleur='#003366';}
elseif($temperature > '-25' && $temperature <= '-20')  $couleur='#003399';
elseif($temperature > '-20' && $temperature <= '-15')  $couleur='#0000cc'; 
elseif($temperature > '-15' && $temperature <= '-10')  $couleur='#0000ff'; 
elseif($temperature > '-10' && $temperature <= '-5')  $couleur='#0099ff'; 
elseif($temperature > '-5' && $temperature <= '0')  $couleur='#66ffff';  
elseif($temperature > '0' && $temperature <= '5')  $couleur='#66ff99'; 
elseif($temperature > '5' && $temperature <= '10')  $couleur='#66ff00'; 
elseif($temperature > '10' && $temperature <= '15')  $couleur='#ffff00';  
elseif($temperature > '15' && $temperature <= '20')  $couleur='#ffcc00';  
elseif($temperature > '20' && $temperature <= '25')  $couleur='#ff9900'; 
elseif($temperature > '25' && $temperature <= '30')  $couleur='#ff6600';
elseif($temperature > '30' && $temperature <= '35')  $couleur='#ff3300'; 
elseif($temperature > '35' && $temperature <= '40')  $couleur='#cc0000'; 
elseif($temperature > '40')  $couleur='#660000'; 

?>
<!--      mettre ici le début de la page -->

<?php
echo "<table>
<tr>
<td bgcolor='$couleur'> $temperature </td></tr></table>";
?>

<!--      mettre ici la suite de la page -->

Avatar du membre
webmaster
Site Admin
Site Admin
Messages : 2611
Enregistré le : 12 déc. 2006, 20:54
Localisation : Rieux 51 FRANCE
Contact :

Re: colorisation celule

Message par webmaster » 11 mars 2011, 13:03

Bonjour,

Ça se discute, pour moi cela dépend plus du nombre de condition, jusqu'à trois WsWin gère bien la situation, au delà c'est effectivement plus contraignant.
Et si les comparaisons deviennent plus complexes WsWin et totalement incapable de les faire, et dans ce cas effectivement vive le PHP.

Tu as déjà plusieurs erreurs dans ton code.
La première il faut retirer les unités qui gênent durant la comparaison avec un %unit_off%
Le second est dans ta deuxième condition qui si elle n'est pas remplie, doit ramener à la condition acceptée précédemment.

Code : Tout sélectionner

%unit_off%
%ws_setmem[1]=%ws_compare[X]=%tag_variable%~2~resultat_1~resultat_2%%
%ws_setmem[2]=%ws_compare[X]=%tag_variable%~20~resultat_3~%ws_getmem[1]%%%
%unit_on%
%ws_getmem[2]%
Cordialement

Rieux

Avatar du membre
kalimero
Participation 2
Participation 2
Messages : 183
Enregistré le : 25 nov. 2008, 13:54

Re: colorisation celule

Message par kalimero » 11 mars 2011, 20:54

Bonsoir
Merci à vous pour vos reponses je regarde de plus pres et vous tient au courant

Avatar du membre
kalimero
Participation 2
Participation 2
Messages : 183
Enregistré le : 25 nov. 2008, 13:54

Re: colorisation celule

Message par kalimero » 19 mars 2011, 07:44

Bonjour
Cela fonctionne maintenant http://bonux50.perso.neuf.fr/evolution1.php
Merci à jackT pour son aide et sa patience
Vue le nombre de conditions j'ai choisie de le faire en php

Répondre