Page 1 sur 1

Calcul sur les dates...

Posté : 20 oct. 2012, 17:28
par mc.kennit
Bonjour a tous , et merci de votre aide.

je stocke dans une base de données la date d'anniversaire des clients, je désire être prévenu 15 jours avant la date d'anniversaire afin que je puisse les contacter.
je compte donc passer en rouge la couleur de la cellule qui affiche cette date, seulement je ne maitrise pas le calcul des dates par rapport à la date actuelle...avez vous une idée?

Code:
............
while($donnees=mysql_fetch_array ($reponse))

{?>
<tr>

<td><?php echo $donnees["id"];?></td>
<td><?php echo $donnees["nom"];?></td>
<td><?php echo $donnees["prenom"];?></td>
<td><?php echo date_us_fr($donnees["DATE"]);?></td>


.......comment on peut récupérer la date stockée dans la variable $donnees["DATE_N"] changer la couleur de la cellule(rouge clignote) 15 jours avant la date d'anniversaire ???
j'avais commencé quelque chose mais je n'ose même pas le montrer... :)

<?
if ($donnees["DATE_N"].............)


{?>
<td bgcolor = "#0DF21D" ><?php echo date_us_fr($donnees["DATE_N"]);?></td>
<?}

else

{?>
<td bgcolor = "#F20D28" ><span style ="text-decoration:blink;"><?php echo date_us_fr($donnees["DATE_N"]);?></span></td>

<?}?>

<td><?php echo $donnees["action"];?></td>
<td><?php echo $donnees["impact"];?></td>
<td><?php echo $donnees["type"];?></td>
<td><?php echo $donnees["debut"];?></td>
<td><?php echo $donnees["fin"];?></td>
<td><?php echo $donnees["telephone"];?></td>
<td><?php echo $donnees["compte"];?></td>
<td><a href="http://127.0.0.1/Gestion/Clients">Acces ... ></li></td>
</tr>
<?

}

Merci encore de votre aide...

Re: Calcul sur les dates...

Posté : 20 oct. 2012, 20:29
par asf21
Hello!
Tout est là => http://php.net/manual/fr/function.date.php
Je te laisse lire ou relire. ;)
Tiens nous au courant.
Cdt.

Re: Calcul sur les dates...

Posté : 21 oct. 2012, 02:35
par moogli
Salut,

Soit tu transforme les deux en tests maps et du les compares (différences des dates si le résultat est inférieur à 3600*24*15 tu affiche en rouge.

Sinon tu peux utiliser la classe dateTime (de php) pour faire le calcul.


@+

Re: Calcul sur les dates...

Posté : 21 oct. 2012, 09:51
par mckennit
Bonjour et merci de vos réponses, dès que j ai trouvé la solution je viendrais bien sur la partager..
je constate que le problème sur les dates est souvent traité sur les forums, je n'ai en tous cas pas trouver d'exemples concrets pour le moment..
je planche sérieux en tous cas...Merci de votre aide encore.

Re: Calcul sur les dates...

Posté : 21 oct. 2012, 16:49
par moogli
oui c'est un problème récurent. mais malheureusement les gens poste rarement la solution pour les autres.


ceci dit ce que tu cherche a faire n'est pas très complexe et tu a de quoi faire avec nos deux réponses.


test l'utilisation de tous ça essai de la faire fonctionner avec ton appli et si tu n'y arrive pas revient, avec ton code et tes questions on pourra t'aider.


@+

Re: Calcul sur les dates...

Posté : 22 oct. 2012, 08:30
par schim59
Bonjour,

j'avais commencé un tuto mais il est suspend faute de temps (et de compétences lol) :

Rappelle des fonctions & class

Langage : PHP.
Fonctions/class : strtotime(),date(), mktime(), date_default_timezone_set(),



date()
Elle retourne la date dans un format de type chaîne.

echo date('d m Y'); //affiche la date du jour sous forme 01 01 1970

En second argument on peut passer un timestamp.

echo date ('d m Y',1347660000);// Affiche 15 09 2012

On peut travailler avec des variables sous forme de dates.

$date='12-12-12';
echo date ('d m Y',strtotime($date));// Affiche 12 12 2012



strtotime()

Elle convertit une date ISO en timestamp.

echo strtotime('12/12/2037');// Affiche un timstamp sous forme 2144185200

Elle permet aussi le calcul sur les dates : Dans ce cas on ajoute en second argument un timestamp.

echo strtotime('14-9-2012');// Affiche 1347573600

echo strtotime('+1 days', mktime(0,0,0,9,14,2012));// Affiche 1347660000

Re: Calcul sur les dates...

Posté : 23 oct. 2012, 20:36
par mc.kennit
Merci !!! de votre aide !! c est tres sympa !!!
Voici pour le moment ce qui me permet de trouver facilement une solution à mon problème, le l' ai trouvé sur le site de : http://www.lephpfacile.com/manuel-mysql/tutorial.php
Ce tuto traite le cas ou nous pouvons calculer (en utilisant les requetes sql) l'age d'un animal !! :D ..et aussi prévenir 1 mois avant la date d'anniversaire !! ...donc , j'ai adapté
leur code à mon petit soucis....

Voici donc la requête :
 $sql = "SELECT nom,prenom,DATE_N from detail where MONTH(DATE_N) = MONTH(DATE_ADD(NOW(), INTERVAL 1 MONTH))";
je récup donc la liste des personnes un mois avant leur anniversaire ....
je continue donc a chercher pour pouvoir mettre ca en utilisant le php....
Merci encore a tous de votre aide et n'hésitez pas de me poster vos eventuelles idées..