在PHP中实现无需重新加载页面即可反映数据库更改

3
我正在使用php构建一个照片分享服务。 我在jquery中使用了lightbox,当我们点击“添加”按钮以添加照片时,它将弹出。 我们可以上传多个照片。 此外,我正在使用ajax上传照片,以便页面不会重新加载。 我希望在上传照片后,相同的照片将自动加载到我的图库中,并且图库应该显示新照片,无需刷新页面。 数据库中的每个用户都会有特定的id,因此最终应该反映用户表中的更改。 现在的问题是,我无法控制lightbox的关闭按钮。 因此,我无法修改它以调用任何其他函数,以便它使用ajax执行查询并显示我的照片。 我听说可以使用JSON自动检测数据库中的更改,但我从未使用过JSON,对它几乎一无所知。 有人能否用php演示如何使用JSON检测mysql表中的更改的简单示例? 还有其他方法可以实现吗? 请帮帮我。

让服务器上的上传处理程序返回客户端JavaScript所需的任何内容,以识别新图像。例如ID号、HTML片段等,然后您可以将它们动态地插入到图库中。 - Marc B
1个回答

1

JSON是一种理想的数据交换语言。JSON仅用于快速数据交互,因此您无法在没有DOM请求的帮助下完成此操作。 http://www.json.org/

您可以使用ajax来实现这一点。您可以每秒钟发出一次ajax请求以获取最新更新。

或者

使用长轮询方法,如comet

使用PHP实现COMET

编辑:

gowri:如何每秒发出一次ajax请求?

使用setInterval

setInterval(function(){

//在此处进行ajax调用

},1000);


如何每秒发起一次Ajax请求?这会影响界面吗?我的意思是用户是否会感觉到画廊被不断刷新了? - Sanks R
检查更新答案。你想向用户展示刷新的画廊吗? - Gowri
没有问题。使用JSON并以数组格式获取记录,使用该数组绘制您的页面。实时示例在此处http://www.beezid.com/。使用firfug查看响应。 - Gowri

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接