Php 如何在不重新加载页面的情况下从数据库中获取数据?
我想做一个faq面板,当用户问任何问题时,它会显示在分区顶部,而无需重新加载页面,因为我想每隔几秒钟我就必须与数据库建立连接。现在的问题是,如何在不重新加载页面的情况下建立连接,以及如何显示新问题?我认为您需要的是AJAX。这是一种只需部分页面刷新即可与服务器联系的方式。当我使用asp.net时,我不知道它是如何与php一起工作的,但这里有一些可能会有所帮助。您必须研究推送/发布/订阅技术。我知道的很少,而且你有两个选择:Php 如何在不重新加载页面的情况下从数据库中获取数据?,php,javascript,sql,css,Php,Javascript,Sql,Css,我想做一个faq面板,当用户问任何问题时,它会显示在分区顶部,而无需重新加载页面,因为我想每隔几秒钟我就必须与数据库建立连接。现在的问题是,如何在不重新加载页面的情况下建立连接,以及如何显示新问题?我认为您需要的是AJAX。这是一种只需部分页面刷新即可与服务器联系的方式。当我使用asp.net时,我不知道它是如何与php一起工作的,但这里有一些可能会有所帮助。您必须研究推送/发布/订阅技术。我知道的很少,而且你有两个选择: ,它允许您使用JavaScript从服务器检索数据,然后可以使用Java
XMLHttpRequest
对象,它允许您在JavaScript中完全在幕后检索数据。请注意,Ajax受到限制,但对于您所描述的,这很好-您将从同一来源加载数据iframe
元素),您可以通过设置其src
属性将内容加载到其中旁注:虽然显然您可以直接使用
XMLHttpRequest
和DOM方法,但请注意,存在跨浏览器的差异(以及明显的bug),可以通过一个好的库(如、、或)来消除这些差异。它们还提供了许多有用的实用功能,使您能够专注于您试图解决的实际问题,而不是管道的细节
例如,以下是如何使用jQuery向服务器发送Ajax请求,并使用服务器返回的HTML片段更新页面上的元素:
$("#target").load("get_the_data.php", {article: x});
也就是说:从get_the_data.php
请求一个HTML片段,并将参数article
与x
变量中的值一起发送给它,然后将该HTML片段放在具有HTMLid
目标的元素中。如果您不使用库,那么这将是一个很好的10行代码。现在,这并不多,但要反复重复一遍(在这个过程中,处理一个IE bug,它通过元素的id
查找元素),然后你就会看到它是如何加起来的
我建议您阅读上面的参考资料,以便了解库是如何做的(这不是魔术),但没有理由不利用人们所做的艰苦工作来简化这些工作。现在轮到Ajax了。您需要的是一种称为AJAX的技术。您可以在jQuery库中找到一些有用的东西,它提供了不同的方法来更轻松地使用Ajax 您将通过客户端脚本语言(本例中为Javascript)创建与服务器端编程语言和数据库的关系。 这是这些实现的一个示例: