数据库更新时的jquery更新页面

时间:2010-08-05 13:54:04

标签: php jquery

我有一个页面显示插入mysql数据库的数据;我希望(如果可能的话)这个视图页面在将记录添加到数据库时自动更新(数据不是从同一页面插入的,也可能是从其他用户插入的)。

提前谢谢 ciao h。

3 个答案:

答案 0 :(得分:3)

第一种方式(最容易但又烦人):
向页面添加元刷新,整个页面每x次刷新一次。

第二种方式(AJAX):
我假设这是你想要的。

  • 加载默认HTML页面等...让我们称之为index.php
  • 在上面的页面中创建一个< 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的好教程。