我有一个不断更新MySQL数据库的Ruby脚本。我想实时显示“mysql_num_rows()
”。因此,当Ruby脚本将条目输入数据库时,我希望PHP脚本实时更新其mysql_num_row()计数。
我尝试使用<meta http-equiv="refresh" content="5">
,但我认为这不是最佳解决方案。
有没有人有更好的解决方案?
答案 0 :(得分:3)
在页面上使用JavaScript定期调用服务器并获取一些数据。使用jQuery库来支持AJAX的跨浏览器,您只需执行此操作:
jQuery(function($){
setInterval(function(){
$.get( '/getrows.php', function(newRowCount){
$('#rowcounter').html( newRowCount );
});
},5000); // 5000ms == 5 seconds
});
这将每隔5秒向您的服务器发出一个请求,并将您发送的任何内容的结果粘贴到ID为rowcounter
的元素中,例如
<p>There are <span id='rowcounter'>xx</span> rows in the DB.</p>
答案 1 :(得分:1)
我会使用ajax更新程序来轮询打印mysql_num_row()的页面。原型将是一个很好的解决方案:http://www.prototypejs.org/api/ajax/updater
答案 2 :(得分:0)
只使用PHP和javascript,唯一的方法就是不断检查更新,尽管wajiw是正确的,ajax路由比整页刷新更少侵入/嘈杂。
在端口/套接字上需要一个具有站立连接的应用程序(或applet)才能获得更新。
答案 3 :(得分:0)
如果您将拥有大量访问者,最好将行号存储到静态文件中,并使用cron运行单独的脚本(或在服务器上以无限循环运行脚本)。然后用这个静态文件用JS显示数字,就像Phrogz建议的那样。否则你可以很快超过mysql连接限制。
答案 4 :(得分:-2)