[RESOLU] condition if probleme couleur cellule tableau

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] condition if probleme couleur cellule tableau

Re: condition if probleme couleur cellule tableau

par pao47 » 21 mars 2015, 17:15

Merci sirakawa ta solution fonctionne parfaitement. j'ai simplement vérifier mes variables et je ne devais pas sous-traire les partie "année"...mais "annéeconnexion"...

merci beaucoup de ton aide.

Re: condition if probleme couleur cellule tableau

par pao47 » 21 mars 2015, 17:09

j'ai fait un echo sur datediff, voila ce que j'obtiens pour aujourd'hui :

2015-03-21 00:00:00
soit pour
"$jour3=substr($datediff,8,2);" = 21
"$mois3=substr($datediff,5,2);" = 03
"$annee3=substr($datediff+3,0,4);" = 2015

je n'arrive toujours pas à cerner cette erreur.

Re: condition if probleme couleur cellule tableau

par sirakawa » 21 mars 2015, 14:01

IL est bien évident que le problème vient de la valeur de datediff
La valeur, pas le format:

Re: condition if probleme couleur cellule tableau

par pao47 » 21 mars 2015, 13:18

$datediff est une date que je vais chercher dans une table de donnée excel du format : jj-mm-aa

Re: condition if probleme couleur cellule tableau

par sirakawa » 21 mars 2015, 12:00

En, particulier, j'aimerais savoir la valeur de $datediff..

Re: condition if probleme couleur cellule tableau

par sirakawa » 21 mars 2015, 11:59

Si tu commençais par faire afficher les valeurs AVANT le if, tu y verrais plus clair

Re: condition if probleme couleur cellule tableau

par pao47 » 21 mars 2015, 11:01

petite précision : je ne veux pas une selection que des rouges ou des verts mais que l'ensemble s'affiche.

Re: condition if probleme couleur cellule tableau

par pao47 » 21 mars 2015, 10:59

Bonjour sirakawa,

merci pour ton aide.

j'ai essayé ta proposition mais il ne prend en compte que la première condition à chaque fois. il n'y a pas de changement de couleur lorsque la condition n'est pas respecté (je n'ai peut être pas respecté ou compris l'ensemble de ce que tu as précisé) :

Code : Tout sélectionner

print("<td align=center>"); $datediff=odbc_result($Resultatdocquali,"tdoc_date_diff"); $jour=substr($datediff,8,2); $mois=substr($datediff,5,2); $annee=substr($datediff,0,4); $date=$jour."/".$mois."/".$annee; print"<font size=2>"; echo $date; print"</font>"; print("</td>\n"); $datediff=odbc_result($Resultatdocquali,"tdoc_date_diff"); $jour3=substr($datediff,8,2); $mois3=substr($datediff,5,2); $annee3=substr($datediff+3,0,4); $date3=$jour3."/".$mois3."/".$annee3; $an3 = ($annee3*365+$mois3*30+$jour3); $an = ($annee*365+$mois*30+$jour); if (($an3 - $an) < 0) { print "<td bgcolor=#99CC00>" ; } else { print "<td bgcolor=#FF0000>"; } print"<font size=2>"; echo $date3;
l'ensemble de mes cellules de la colonne sont rouges alors que normalement je devrais en avoir des vertes.

Re: condition if probleme couleur cellule tableau

par sirakawa » 21 mars 2015, 10:16

1) Dans ces cas, il faut toujours vérifier les valeurs;
$datediff=odbc_result($Resultatdocquali,"tdoc_date_diff");

$jour3=substr($datediff,8,2);
// idem si $datediff te convient

$mois3=substr($datediff,5,2);
$annee3=substr($datediff+3,0,4);
$date3=$jour3."/".$mois3."/".$annee3;
print "$jour3 mois3 $annee3"; die();

2/ Extraire le calcul
$an3 = $annee3*365+$mois3*30+$jour3;
$an = ($annee*365+$mois*30+$jour;
et faire afficher ces valeurs
if (($an3 - $an) < 183)
{
print "<td bgcolor=#FF0000>" ;
}
else
{
print "<td bgcolor=#99CC00>";
}
a moins que ne veuilles rien pour 183 et 184

condition if probleme couleur cellule tableau

par pao47 » 21 mars 2015, 07:44

Bonjour,

j'ai un petit souci sur une partie de code (je suis débutant) : je voudrais que dans une cellule la couleur change lorsque le résultat de la soustraction de deux dates est supérieur ou inférieur à 183.

Pour le moment, quelque soit le résultat de la soustraction, j'obtiens du vert. (jamais le rouge...)

je ne vois pas mon erreur dans ce code :

Code : Tout sélectionner

print("<td align=center>"); $datediff=odbc_result($Resultatdocquali,"tdoc_date_diff"); $jour=substr($datediff,8,2); $mois=substr($datediff,5,2); $annee=substr($datediff,0,4); $date=$jour."/".$mois."/".$annee; print"<font size=2>"; echo $date; print"</font>"; print("</td>\n"); $datediff=odbc_result($Resultatdocquali,"tdoc_date_diff"); $jour3=substr($datediff,8,2); $mois3=substr($datediff,5,2); $annee3=substr($datediff+3,0,4); $date3=$jour3."/".$mois3."/".$annee3; if (($annee3*365+$mois3*30+$jour3)-($annee*365+$mois*30+$jour) < 183) {print("<td bgcolor=#FF0000>");} if (($annee3*365+$mois3*30+$jour3)-($annee*365+$mois*30+$jour) > 184) {print("<td bgcolor=#99CC00>");} print("<font size=2>"); echo $date3; print"</font >"; print("</td>\n");


Merci d'avance de votre aide.

paolino