Hola muy buenas tengo un problema con una cuenta atras con javascript,
la idea es cargar unos eventos y en cada evento una cuenta atras, he conseguido que haya una cuenta atras pero no logro conseguir que haya una cuenta atras por cada evento, aqui teneis el código, gracias de antemano:
$result = mysql_query("SELECT * FROM planes ");
if ($row = mysql_fetch_array($result)){
echo "<h1>Eventos disponibles<h1>";
echo "<table border = '1'>";
echo "<tr>";
echo "<th>nombre</th>";
echo "<th>fecha</th>";
echo "<th>Tiempo</th>";
echo "</tr> n";
do {
echo "<tr> n";
echo "<td>".$row["nombre"]."</td> n";
echo "<td>".$row["hora"]."</td>n";
echo "<td>".$row["fecha"]."</td>n";
$mes=substr($fecha , 5,2) - 1;
$fecha=$row["fecha"];
?>
<td><body onload="countdown('contador')">
<div id='contador'></div>
...
</body></td>
<?
echo "</tr>";
} while ($row = mysql_fetch_array($result));
echo "</table>";
} else {
echo "No hay eventos creados";
}
<head>
<script type="text/javascript" language="JavaScript">
function countdown(id){
var fecha=new Date('<?echo substr($fecha , 0,4);?>','<?echo $mes;?>','<?echo substr($fecha , 8,2);?>','00','00','00')
var hoy=new Date()
var dias=0
var horas=0
var minutos=0
var segundos=0
if (fecha>hoy){
var diferencia=(fecha.getTime()-hoy.getTime())/1000
dias=Math.floor(diferencia/86400)
diferencia=diferencia-(86400*dias)
horas=Math.floor(diferencia/3600)
diferencia=diferencia-(3600*horas)
minutos=Math.floor(diferencia/60)
diferencia=diferencia-(60*minutos)
segundos=Math.floor(diferencia)
document.getElementById(id).innerHTML='Quedan ' + dias + ' Días, ' + horas + ' Horas, ' + minutos + ' Minutos, ' + segundos + ' Segundos'
if (dias>0 || horas>0 || minutos>0 || segundos>0){
setTimeout("countdown(\"" + id + "\")",1000)
}
}
else{
document.getElementById('restante').innerHTML='Quedan ' + dias + ' Días, ' + horas + ' Horas, ' + minutos + ' Minutos, ' + segundos + ' Segundos'
}
}
</script>
</head>