Javascript计时器不与mysql_fetch_array结果一起循环

时间:2011-12-24 09:32:30

标签: php javascript mysql

<? while($row = mysql_fetch_array($result))
{
$result2 = $row['end_time'];    

echo"<td><div id=defaultCountdown></div></td>"; 
?>

<script type=text/javascript>

$(function () 

{
var t = ('<? echo $result2; ?>').split(/[- :]/);
   // Apply each element to the Date function
var d = new Date(t[0], t[1]-1, t[2], t[3], t[4], t[5]); 
$('#defaultCountdown').countdown({until: d});
$('#year').text(austDay.getFullYear());
});
</script>
    <? }
?>

所以基本上我想为mysql_fetch_array生成的每一行结果启动Javascript倒计时器。但是,在上面的代码中,计时器仅适用于第一行结果。如何使计时器适用于每一行结果?

修改

   <td> 2012-12-17 13:12:22</td><td> <img src = Images/1324133424.jpg height=200 width=300 />     </td><td> active</td><td><div id=defaultCountdown0></div></td>    
<script type=text/javascript>

$(function () 

{


var t = ('2012-12-17 13:12:22').split(/[- :]/);


// Apply each element to the Date function
var d = new Date(t[0], t[1]-1, t[2], t[3], t[4], t[5]); 

$('#defaultCountdown0').countdown({until: d});

$('#year').text(austDay.getFullYear());
 });


</script>
<td> 2012-12-01 13:12:22</td><td>     <img src = Images/1322754818.jpg height=200 width=300 /> </td><td> active</td>    <td><div id=defaultCountdown1></div></td>    
<script type=text/javascript>

$(function () 

{


var t = ('2012-12-01 13:12:22').split(/[- :]/);


// Apply each element to the Date function
var d = new Date(t[0], t[1]-1, t[2], t[3], t[4], t[5]); 

$('#defaultCountdown1').countdown({until: d});

$('#year').text(austDay.getFullYear());
});


</script>

1 个答案:

答案 0 :(得分:3)

在PHP while循环中,您为所有divs设置了相同的ID,这可能就是为什么只有第一行有效。但是,正如我在评论中所说,您需要添加PHP代码生成的实际JavaScript。

echo"<td><div id=defaultCountdown></div></td>";

编辑:

这是代码应该是什么样子。按原样运行,然后尝试进行小的更改,让它做你想做的事情:

<?
    while($row = mysql_fetch_array($result))
    {
        $i = 0;
        $result2 = $row['end_time'];    
        echo "<td><div id=defaultCountdown$i></div></td>"; 
?>

<script type=text/javascript>
    $(function ()
    {
        var t = ('<? echo $result2; ?>').split(/[- :]/);
        // Apply each element to the Date function
        var d = new Date(t[0], t[1]-1, t[2], t[3], t[4], t[5]); 
        $('#defaultCountdown<?php echo $i; ?>').countdown({until: d});
        $('#year').text(austDay.getFullYear());
    });
</script>

<?
        $i++;
    }
?>