【问题标题】:Ajax or jQuery page reload with new data added to sql database使用添加到 sql 数据库的新数据重新加载 Ajax 或 jQuery 页面
【发布时间】:2010-10-28 20:14:10
【问题描述】:

我对 ajax 完全陌生,但对 PHP 非常熟悉。我有一个 PHP 页面,目前每 2 分钟刷新一次,因为它必须检查 sql 数据库中的新数据。如果您正在使用它并且它不断刷新,那将非常烦人。数据库每天更新大约 3 次,但该页面上显示的内容需要与数据库中的内容保持同步。我正在尝试找到一种方法让 ajax 或其他东西每 30 秒左右检查一次数据库,如果有新内容,则刷新,但如果没有任何新内容,请不要刷新。有谁知道那里的任何教程,或者可以让我开始的东西?我认为我有这个概念......我只是无法弄清楚代码。我确定如果我得到它来检查数据库,我可以找出其余的。

提前致谢!

【问题讨论】:

    标签: php javascript jquery sql ajax


    【解决方案1】:

    查看jQuery。它使在后台检索远程资源变得非常容易:$.get(url, callback)。页面的内容应该是 XML 或 JSON。我想你已经知道如何使用 PHP 生成这些了。

    一旦您检索到您的更新(或没有更新),您就可以决定如何处理它。同样,使用 jQuery,可以很容易地附加或替换页面任何部分的内容,而无需刷新任何内容。 $("#id").html(new_html)

    而这仅仅是个开始。你可以做的远不止这些。欢迎来到 AJAX 的世界!

    当然,您可以使用原生 JavaScript 进行 AJAX。但是你必须考虑所有不同的浏览器特权,所以我强烈建议使用 jQuery 之类的框架。它还附带了一个非常全面的在线文档和一些示例,因此请尝试一下。

    【讨论】:

    • 嗯好的... jquery 可能是一种可能性。我正在查找教程,我只能找到有关如何 ping 数据库以查找用户是否存在的内容...您对在哪里查找有什么建议吗?
    • @Phil 用 PHP 编写一个页面,检查数据库并通过 XML 或 JSON 返回新结果。然后只需使用 jquery.load() 将容器中的 HTML 替换为新数据。
    • @Phil scottm 的建议很到位。我也应该建议$.load()。无需在服务器端做任何花哨的事情。只需返回您要更新的<div> 的新内容,就好像它是一个常规的 HTML 页面一样,但没有页眉/页脚/其他内容。 $.load() 将使用新内容自动更新 div。
    • 我看到的唯一问题是,我也在页面上使用谷歌地图 api,这会随着新内容的变化而改变,所以我必须刷新整个页面,而不仅仅是单件
    • @Phil 您可以单独更新地图,也可以在更新其他内容的同时更新。经验法则:如果您要更新的内容少于整个页面,您可以在不刷新整个页面的情况下更新它。
    猜你喜欢
    • 2019-12-11
    • 2014-10-06
    • 2015-03-23
    • 1970-01-01
    • 2014-01-18
    • 2014-07-14
    • 1970-01-01
    • 1970-01-01
    • 2012-08-14
    相关资源
    最近更新 更多