【问题标题】:Auto updating Image using mysql php and i would assume javascript使用 mysql php 自动更新图像,我会假设 javascript
【发布时间】:2013-02-20 07:24:12
【问题描述】:

好的,所以我在谷歌上搜索了我想要做的事情,但似乎找不到我真正想要的东西。

我想做的是每秒更新一次图像,该图像用于消息图标,类似于 Facebook 的。没有页面刷新,需要使用 Jquery 更新元素(首选)。我对这方面的 java 脚本知之甚少,但是 PHP 和 MySQL 方面只要我知道告诉 java 脚本做什么,我就可以做到。

我想真正的问题是: 如何根据 MySQL 数据库中的任何更改进行图像更新? 对此的任何帮助将不胜感激。

【问题讨论】:

  • 欢迎来到 ajax 的世界,我的朋友 :) .. 在 google 上进行一些快速搜索将帮助您准确找到所需的内容。
  • 每一秒?期待高吞吐量的账单。你可能想看看 Comet、Meteor、socket.io ...... PHP 不是很擅长这些东西。

标签: php javascript jquery mysql dynamic


【解决方案1】:

尝试类似:

window.setInterval(function() {
    $.get("url", { parameters: egTime}, function(response) {
        if($("#myImage").attr("src") != response)
            $("#myImage").attr("src", response);
    })
}, 1000);

服务器必须将图像的新 src 作为字符串返回 ;-)

【讨论】:

  • 我会假设 url 的意思是“ajaxscript.php”,现在该文件是否只有需要显示的任何图像路径的原始输出?或者响应如何工作?
  • 响应只是 IMG 的新 URL,例如:“//myFolder/myimage.png”
  • 个人更喜欢用json,echo json_encode(array('url' => $url));然后在js端 $("#myImage").attr("src", response.url);
【解决方案2】:

您可以先使用 jQuery 设置间隔。参考这个问题;

JavaScript - jQuery interval

然后您可以在该时间间隔执行 ajax 请求以检查数据库中的新条目。在 MySQL 中,创建一个标志条目来标识该条目是新的还是旧的(例如将 0 设置为旧的,将 1 设置为新的)。在每个 ajax 请求中,如果有任何状态为 1 的条目,那么 PHP 可能会返回具有 1(即,可能大于 1)的条目数作为 ajax 结果。然后状态应该设置为0。在javascript ajax中,您可以检查返回值是否为0或其他。如果为 0,那么你不需要做任何事情。如果为 1,那么您可以更改某些元素的 css 属性(例如更改背景颜色),以使其成为通知。当用户单击该元素时,css 可能会恢复为默认值。

【讨论】:

  • 1/0 已经完成,正常的页面加载工作正常,只需要继续,所以你不必刷新页面
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多