使用javascript的每个表行的计时器

时间:2014-07-03 21:16:38

标签: javascript php

我希望在10分钟后为每个表格行添加通知,
  计数器的开始时间将基于数据库的输入时间。

Sample Table  
ID     |    Item     |    EntryTime   |    Status     |
-------------------------------------------------------------  
101    |    Fries    |    19:20:12    |    Active     |Alert Goes Here  
102    |    burger   |    22:23:14    |    Active     |Alert Goes Here  

if 101 timer is over 10 Minutes, an alert or notification would appear.  

我需要你的帮助,非常感谢你,非常感谢   我可以通过使用页面刷新一段时间在纯PHP中完成它,
  但我认为这会消耗资源

1 个答案:

答案 0 :(得分:0)

这是一个丑陋的实现,但假设你可以处理写addAlertToRow函数...这至少应该让你走上正确的轨道

<table>
<? foreach($rows as $row): ?>
    <tr id="<?=$row['id'];?>">
        <td><?=$row['id'];?></td>
         ...
        <td><span class="alert"></span>
            <script>
                (function() {
                    var ten_minutes = 600000; //milliseconds
                    var now = <?=time() * 1000;?>;
                    var entryTime= <?php echo strtotime($entryTime)*1000; ?>;
                    var timeAgo = now - entryTime; //how long ago was the entry added
                    setTimeout(function() { 
                        var row = document.getElementById('<?=$row['id'];?>');
                        addAlertToRow(row);
                    }, ten_minutes - timeAgo);
                 })();
             </script>
        </td>
    </tr>
<? endforeach; ?>
</table>