Problema countdown

maxnegri

Utente Attivo
12 Ott 2004
87
0
6
Ciao a tutti spero che qualcuno possa aiutarmi.
Ho una pagina in php con un contdown che preleva la data dal database.
Il problema che si verifica è che se le offerte sono più di una nella pagina il countdown non gira. mentre se l'offerta è unica funziona perfettamente.
Ho provato ad assegnare l'id ma non sono esperto di javascript. Qualcuno può aiutarmi? Grazie.

Ecco il codice:
PHP:
<?php 
//get coopen end date to show Countdown Timer

$coopen_timer = explode('-',$row["coupon_enddate"]);
$coopen_timer1 = explode(' ',$coopen_timer[2]);
$coopen_timer2 = explode(' ',$coopen_timer1[1]);
$coopen_timer3 = explode(':',$coopen_timer2[0]);
?>

<!--Countdown Timer starts here-->
<script type="text/javascript">

 
dateFuture = new Date('<?php echo $coopen_timer[0]; ?>','<?php echo ($coopen_timer[1] - 1) ; ?>','<?php echo $coopen_timer1[0]; ?>','<?php echo $coopen_timer3[0]; ?>','<?php echo $coopen_timer3[1]; ?>','<?php echo $coopen_timer3[2]; ?>'); 

//alert(dateFuture);

function GetCount(){

	var dateNow = new Date();									//grab current date
	var amount = dateFuture.getTime() - dateNow.getTime();		//calc milliseconds between dates
	//alert(amount);
	delete dateNow;

		var days=0;var hours=0;var mins=0;var secs=0;var nodays="";var nohrs="";var nomins="";

		var amount = Math.floor(amount/1000);//kill the "milliseconds" so just secs

		var days=Math.floor(amount/86400);//days
		
		var days = days*24;
		
		var amount=amount%86400;

		var hours=days + Math.floor(amount/3600);//hours
		
		var amount=amount%3600;

		var mins=Math.floor(amount/60);//minutes
		
		var amount=amount%60;

		var secs=Math.floor(amount);//seconds

		if(days == 0 && hours == 0 && mins == 0 && secs == 0 )
		{	
			window.location='<?php echo DOCROOT; ?>';exit;
		}

		/*if(days != 0)
		{
		nodays = days +((days!=1)?"":"");
		//alert(nodays);
		document.getElementById('tot_days2_<?php echo $row["coupon_id"];?>').innerHTML=nodays;
		}
		else
		{
		document.getElementById('tot_days2_<?php echo $row["coupon_id"];?>').innerHTML='';		
		document.getElementById('days_<?php echo $row["coupon_id"];?>').innerHTML='';		
		}*/
		
		if(days != 0 || hours != 0)
		{
		nohrs = hours +((hours!=1)?"":"");
		if(nohrs < 10 && nohrs >= 0){nohrs = '0'+ nohrs;}
		//alert(nohrs);
		document.getElementById('tot_hrs2_<?php echo $row["coupon_id"];?>').innerHTML=nohrs;		
		}
		else
		{
		document.getElementById('tot_hrs2_<?php echo $row["coupon_id"];?>').innerHTML='';		
		document.getElementById('hrs_<?php echo $row["coupon_id"];?>').innerHTML='';		
		}
				
		if(days != 0 || hours != 0 || mins != 0)
		{
		nomins = mins +((mins!=1)?"":"");
		if(nomins < 10 && nomins >= 0){nomins = '0'+ nomins;}		
		//alert(nomins);
		document.getElementById('tot_mins2_<?php echo $row["coupon_id"];?>').innerHTML=nomins;				
		}
		else
		{
		document.getElementById('tot_mins2_<?php echo $row["coupon_id"];?>').innerHTML='';		
		document.getElementById('mins_<?php echo $row["coupon_id"];?>').innerHTML='';		
		}		

		if(secs < 10 && secs >= 0){secs = '0'+ secs;}		
		document.getElementById('tot_secs2_<?php echo $row["coupon_id"];?>').innerHTML = secs;
		setTimeout("GetCount()", 1000);
		
}

window.onload=GetCount;//call when everything has loaded

</script>
<!--Countdown Timer ends here-->


<div class="times2">

				  <?php //display timeleft page onload
			  
				  $timeleft = dateDiff($row["coupon_enddate"],date('Y-m-d H:i:s' ));
				  //print_r($timeleft);
				  
				  if(isset($timeleft['days']))
				  {
					  $default_hr = $timeleft['days'] * 24; //calculate days into hours
					  
					  if(isset($timeleft['hours']))
							$default_hr = $default_hr + $timeleft['hours'];
				  }
				  else
					  $default_hr = '';										  


				  if(isset($timeleft['minutes']))
				  {
					  $default_min = $timeleft['minutes'];
				  }
				  else
					  $default_min = '';

				  if(isset($timeleft['seconds']))
				  {
					  $default_sec = $timeleft['seconds'];
				  }
				  else
					  $default_sec = '';
															  
				  ?>				  
				
                                      
                             <div align="CENTER">
                                          <span id="tot_hrs2_<?php echo $row["coupon_id"];?>"><?php echo $default_hr; ?></span>
				              <span id="hrs_<?php echo $row["coupon_id"];?>"></span>&nbsp;&nbsp;&nbsp;&nbsp;
                                          <span id="tot_mins2_<?php echo $row["coupon_id"];?>"><?php echo $default_min; ?></span>
                                          <span id="mins_<?php echo $row["coupon_id"];?>"></span>&nbsp;&nbsp;&nbsp;&nbsp;
						<span  id="tot_secs2_<?php echo $row["coupon_id"];?>"><?php echo $default_sec; ?></span>
</div>
 				<div align="CENTER">
                                          <span class="color333 font12">ORE</span>
				              <span class="color333 font12"></span>&nbsp;&nbsp;&nbsp;&nbsp;
                                          <span class="color333 font12">MIN</span>
                                          <span class="color333 font12"></span>&nbsp;&nbsp;&nbsp;&nbsp;
						<span class="color333 font12">SEC</span>
</div>
</div>
 
Salve Alessandro, la variabile la prende da un altro file di funzione.
Se provo a stampare <?php echo $row["coupon_id"];?> funziona e mi da l'id nella pagina.
 
Aiuto il mio cervello ha preso fuoco :incazz2: hehe.
C'è qualcuno che può aiutarmi?
 

Discussioni simili