PB dynamique

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 : PB dynamique

Re: PB dynamique

par stealth35 » 11 mai 2010, 17:37

tout ton code c'est juste pour faire un décompte par rapport un un temps dans ta base sql ?

Re: PB dynamique

par hashut » 11 mai 2010, 17:34

Trouve voici le code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
include('../conf/conf.php');
$db = mysql_connect($serveur, $user, $passw);
mysql_select_db($bd_base ,$db);
$id=1;
/////////////////////////////////////////////
$req_att = "SELECT  h_fin, DAY(h_fin) AS jour, MONTH(h_fin) AS mois, YEAR(h_fin) AS annee, HOUR(h_fin) AS heure, MINUTE(h_fin) AS minute, SECOND(h_fin) AS seconde  FROM Objet where id =$id" ;
$req = mysql_query($req_att) OR die('erreur dans la requete pour savoir l\'attaque continu');
while($data = mysql_fetch_array($req)) 
{ 
$jour= $data['jour'];
$mois= $data['mois'];
$heure= $data['heure'];
$minute= $data['minute'];
$seconde= $data['seconde'];
$annee= $data['annee'];

}
	$targetYear  = $annee ;
	$targetMonth = $mois ;
	$targetDay   = $jour ;
	$targetHour  = $heure ;
	$targetMinute = $minute ;
	$targetSecond = $seconde ;

$dateFormat = "Y-m-d H:i:s";
$targetDate = mktime($targetHour,$targetMinute,$targetSecond,$targetMonth,$targetDay,$targetYear);

$actualDate = time();
$secondsDiff = $targetDate - $actualDate;
$remainingDay     = floor($secondsDiff/60/60/24);
$remainingHour    = floor(($secondsDiff-($remainingDay*60*60*24))/60/60);
$remainingMinutes = floor(($secondsDiff-($remainingDay*60*60*24)-($remainingHour*60*60))/60);
$remainingSeconds = floor(($secondsDiff-($remainingDay*60*60*24)-($remainingHour*60*60))-($remainingMinutes*60));
$targetDateDisplay = date($dateFormat,$targetDate);
$actualDateDisplay = date($dateFormat,$actualDate);

?>
<script type="text/javascript">
  var days = <?php echo $remainingDay; ?>  
  var hours = <?php echo $remainingHour; ?>  
  var minutes = <?php echo $remainingMinutes; ?>  
  var seconds = <?php echo $remainingSeconds; ?>  
function setCountDown ()
{
  seconds--;
  if (seconds < 0){
      minutes--;
      seconds = 59
  }
  if (minutes < 0){
      hours--;
      minutes = 59
  }
  if (hours < 0){
      days--;
      hours = 23
  }
/////////////////////////////

if( days < 0 ){
	document.getElementById("<?php echo $id ?>").innerHTML =" Termin&eacute;s";
 
}
else
{		
/////////////////////////////  
  document.getElementById("<?php echo $id ?>").innerHTML = days+":"+hours+":"+minutes+":"+seconds;
  
 /////////////////////////////////////////////////////////
}
 ///////////////////////////////////////// 
  setTimeout ( "setCountDown()", 1000 );
/////////////////////////////

//////////////////
}

</script>
</head>

<body onload="setCountDown();">
<div  id=<?php echo $id ?>><?php echo "$remainingDay days, $remainingHour hours, $remainingMinutes minutes, $remainingSeconds seconds";?></div>
<?php
/////////////////////////////
?>

Re: PB dynamique

par Nours312 » 03 mai 2010, 13:49

le soucy avec :

setInterval(function() {
datedujour++;
el.innerHTML = 'Il reste ' + j +'j'+ h +'h'+ mn +'m'+ sec +'s';
}, 1000);


c'est que dans la fonction qui est appelée par le setInterval(), ne fais pas les calculs ... donc ça ne peux pas marcher ^^

ce qui faut c'est que tu recharge ta fonction rebours() qui fera les calcules et modifiera l'affichage !

@++

Re: PB dynamique

par hashut » 03 mai 2010, 11:26

Personne as une idee svp

Re: PB dynamique

par AB » 29 avr. 2010, 19:47

PB dynamique

par hashut » 29 avr. 2010, 18:54

Bonjours
apres la convertion de la datetime en millisecondes en Heure minutes secondes
l'affichage ne decompte plus en dynamique
quelqu'un peut m'aidez
voici le code java + php

Code : Tout sélectionner

<?php $db = mysql_connect('localhost','root','root'); mysql_select_db('test' ,$db); $req_att = "SELECT heure_fin FROM date " ; $req = mysql_query($req_att) OR die('erreur dans la requete pour savoir l\'attaque continu'); while($data = mysql_fetch_array($req)) { $hf= $data['heure_fin']; } $mois="Apr"; $jour="30"; $annee="2010"; $datas= "$mois $jour $hf $annee" ; echo"$datas"; ?> <script type="text/javascript"> function rebours(id) { var el = document.getElementById(id), datedujour = <?php echo time(); ?>; var date_even = new Date("<?php echo ($datas); ?>"); var sec=(date_even.getTime() / 1000 - datedujour); var n = 24 * 3600; j = Math.floor (sec / n); h = Math.floor ((sec - (j * n)) / 3600); mn = Math.floor ((sec - ((j * n + h * 3600))) / 60); sec = Math.floor (sec - ((j * n + h * 3600 + mn * 60))); if (sec > 0) { setInterval(function() { datedujour++; el.innerHTML = 'Il reste ' + j +'j'+ h +'h'+ mn +'m'+ sec +'s'; }, 1000); }else{ el.innerHTML = "Temps Termin&eacute;s"; } } window.onload=function(){ rebours('id_du_div'); }; </script> <div id="id_du_div"></div> </body>
alors que si je met

Code : Tout sélectionner

el.innerHTML = 'Il reste ' + (date_even.getTime() / 1000 - datedujour) + ' secondes';
a la place de

Code : Tout sélectionner

el.innerHTML = 'Il reste ' + j +'j'+ h +'h'+ mn +'m'+ sec +'s';
la le decompte est bien dynamique
quelqu'un as une idées
merci