我正在开发一个PHP协作软件项目。我有一个页面,显示正在向数据库添加内容的其他用户的最新更新,但也有一个表单输入,允许用户输入文本。我目前正在使用此代码每30秒自动刷新一次页面:
header('Refresh: 30');
问题是标题代码刷新整个页面,而不仅仅是从数据库中提取的内容。是否有任何PHP代码只会从数据库中提取任何新数据而不刷新整个页面?
如果有人能指出我正确的方向,我会很感激。
答案 0 :(得分:3)
PHP仅在浏览器向服务器发出新请求时运行。如果您要求浏览器刷新页面,它就会完全正确。
如果要在加载页面后动态更改页面内容,则必须使用JavaScript和AJAX。在Stack Overflow上广泛讨论并广泛用于Web的jQuery库使AJAX请求特别容易执行。安装库后,您可以编写如下内容:
$("#element-to-refresh").load("your-page.php #element-to-refresh");
这是一种粗略的方法,可以生成并传输大量不必要的内容,但它确实有效。要获得更优雅的方法,请考虑一个仅生成相关数据的脚本,只有在刷新时才能调用这些数据。