Page 1 sur 1

colorisation celule

Posté : 11 mars 2011, 10:16
par kalimero
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>

Re: colorisation celule

Posté : 11 mars 2011, 12:10
par jackT
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 -->

Re: colorisation celule

Posté : 11 mars 2011, 13:03
par webmaster
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]%

Re: colorisation celule

Posté : 11 mars 2011, 20:54
par kalimero
Bonsoir
Merci à vous pour vos reponses je regarde de plus pres et vous tient au courant

Re: colorisation celule

Posté : 19 mars 2011, 07:44
par kalimero
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