我有一个页面显示插入mysql数据库的数据;我希望(如果可能的话)这个视图页面在将记录添加到数据库时自动更新(数据不是从同一页面插入的,也可能是从其他用户插入的)。
提前谢谢 ciao h。答案 0 :(得分:3)
第一种方式(最容易但又烦人):
向页面添加元刷新,整个页面每x次刷新一次。
第二种方式(AJAX):
我假设这是你想要的。
在上面的页面中创建一个< div>样式显示的元素:无这样的
<div id="mydata" style="display: none;"></div>
创建一个PHP页面,检索并格式化数据库数据并以x格式打印出来,即表格或p标签。没有标题或页面特定的东西只是数据和简单的标签
在index.php上加上这样的东西
<script type="text/javascript">
function update() {
$.ajax({
url: 'http://www.example.com/getData.php?q=latest',
success: function(response) {
$('#mydata'.html(response);
}
});
}
// .ready function
$(function() {
// do setup stuff here, I think there is a refresh timer or something
// that you'd use to trigger it every x amount of time
// i.e something like this
update();
});
</script>
编辑:AJAX HTTP streaming强制数据输出给用户
答案 1 :(得分:0)
我确信最好的方法可以做到这一点,但快速简便的解决方案是在页面加载时获取表格中的总行数。然后每个 x 秒使用AJAX脚本重新检查该表的行数。如果它已经改变,你可以有额外的逻辑,然后获取新的行。
答案 2 :(得分:0)
我昨晚想到这个,并意识到如果你正在寻找一个事件驱动的系统,node.js(http://nodejs.org/)可能是完美的。有一个关于开始在http://net.tutsplus.com/tutorials/javascript-ajax/learning-serverside-javascript-with-node-js/使用node.js的好教程。