Bonjours
J'ai fais une fonction de compte à rebour qui fonctionne avec la date du client en dynamique + la date de fin en php.
J'ai reussit à mettre la date du serveur php dans le javascript. Le compte à rebour s'affiche mais il devient statique. Je suis obliger d'avoir recour à des refresh pour le voir défiler.
Ma Question est comment faire pour le re rendre dynamique ?
Code qui fonctionne avec une date de fin en php et une date du jour coté client de manière dynamique.
Ca cela fonctionne mais si je replace le code rouge par
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 <?php session_start(); mysql_connect("localhost","root",""); mysql_select_db("ibe"); $a=26; $sql ="SELECT date_fin FROM fr_part_demande_to_revendeur WHERE n_dem_part =".$a; $af = mysql_query($sql); $res = mysql_fetch_object($af); $b = $res->date_fin; echo "$b<br>"; $tableau = split('[- ]',$b); $annee = $tableau[0]; $mois = $tableau[1]; $jours = $tableau[2]; $heures = $tableau[3]; $minutes = $tableau[4]; ?> <html> <head> <SCRIPT LANGUAGE="JavaScript"> function disp_delai() { document.forms[0].elements[0].value=delai(<?php echo $annee;?>,<?php echo $mois;?>,<?php echo $jours;?>,<?php echo $heures;?>,<?php echo $minutes;?>); setTimeout("disp_delai()",1000); } function delai(annee,mois,jour,heure,min) { var date_fin=new Date(annee,mois-1,jour,heure,min); var date_jour=new Date(); var tps=(date_fin.getTime()-date_jour.getTime())/1000; var j=Math.floor(tps/3600/24); tps=tps % (3600*24); var h=Math.floor(tps / 3600); tps=tps % 3600; var m=Math.floor(tps/60); tps=tps % 60 var s=Math.floor(tps); var txt=j+"j "+h+"h"+m+"m"+s+"s"; return txt; } </script> </head> <body onLoad="disp_delai()"> <table border="1" align="center"> <tr> <td align="center"><form><input type="text" name="disp_delai" value=""/></form></td> </tr> </table> </body> </html>
pour avoir la date du serveur php.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 var date_jour=new Date(<?php echo date('Y,m-1,d,H,i,s');?>);
Cela fonctionne aussi , mais le décompte automatique ne se fait plus, il faut que j'utilise le refesh de la page pour voir le temps restant défiler.
Que faut il modifier dans code si dessous pour cela redevienne dynamique avec la date du serveur.
Merci d'avance !!!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 <?php session_start(); mysql_connect("localhost","root",""); mysql_select_db("ibe"); $a=26; $sql ="SELECT date_fin FROM fr_part_demande_to_revendeur WHERE n_dem_part =".$a; $af = mysql_query($sql); $res = mysql_fetch_object($af); $b = $res->date_fin; echo "$b<br>"; $tableau = split('[- ]',$b); $annee = $tableau[0]; $mois = $tableau[1]; $jours = $tableau[2]; $heures = $tableau[3]; $minutes = $tableau[4]; ?> <html> <head> <SCRIPT LANGUAGE="JavaScript"> function disp_delai() { document.forms[0].elements[0].value=delai(<?php echo $annee;?>,<?php echo $mois;?>,<?php echo $jours;?>,<?php echo $heures;?>,<?php echo $minutes;?>); setTimeout("disp_delai()",1000); } function delai(annee,mois,jour,heure,min) { var date_fin=new Date(annee,mois-1,jour,heure,min); var date_jour=new Date(<?php echo date('Y,m-1,d,H,i,s');?>); var tps=(date_fin.getTime()-date_jour.getTime())/1000; var j=Math.floor(tps/3600/24); tps=tps % (3600*24); var h=Math.floor(tps / 3600); tps=tps % 3600; var m=Math.floor(tps/60); tps=tps % 60 var s=Math.floor(tps); var txt=j+"j "+h+"h"+m+"m"+s+"s"; return txt; } </script> </head> <body onLoad="disp_delai()"> <table border="1" align="center"> <tr> <td align="center"><form><input type="text" name="disp_delai" value=""/></form></td> </tr> </table> </body> </html>
Partager