【问题标题】:Update page in realtime in php在php中实时更新页面
【发布时间】:2015-03-25 20:24:53
【问题描述】:

我使用 sql 查询从我的数据库中获取所有产品的列表(例如 100 个),然后我必须使用 foreach 循环从结果集中选择每一行以获取有关产品的更多信息(使用更多的 sql 查询),然后生成html 用于显示。但是在所有 100 个项目的整个 foreach 循环完成后,页面又恢复了活力。 (需要很长时间)。

我希望它就像有 100 个项目,当我加载页面时,视图应该像第一次加载...加载的那一刻它会更新视图并继续显示第二个正在加载等等。

还有怎么能有这样的效果,当一个新的添加时它是绿色背景并慢慢淡入默认的白色背景,表明它是刚刚添加的。

谢谢。

【问题讨论】:

  • 试试 JavaScript 和一个叫做AJAX的东西
  • @lin 你能指导我一些教程来开始使用 php 和 ajax
  • 仔细看看 ajax,这不是一件容易的事,但是一旦你阅读了足够多的关于一切如何工作的内容,它应该是可行的。然而这里有另一个想法:你让它听起来好像你的 PHP 需要很长时间才能执行。也许您正在做的事情(PHP 或 MySQL)以错误的方式完成,并且可以进行优化以加快速度?
  • Basic PHP and AJAX 的可能重复项
  • 看这篇文章对你有帮助stackoverflow.com/q/11077857/2125924

标签: php html


【解决方案1】:

您需要将您的请求分成几个。第一个请求呈现加载页面。从那里您通过 AJAX 调用以 JSON 格式检索 100 个产品。然后,您在 JavaScript 中遍历检索到的项目,并一次请求一个详细信息(也通过 AJAX 调用)。在 AJAX 调用的成功处理程序中,您将该项的详细数据插入到您的 DOM 中。如果你使用 jQuery,你可以为你新注入的元素访问几个淡入淡出和补间动画。

【讨论】:

  • 没有区别。您需要编写客户端javascript。您使用哪个后端取决于您。
【解决方案2】:

如果你想一个一个地加载数据而不是你应该使用 Ajax。

首先您必须从数据库中获取数据并以 JSON 的形式传递。

与 Javascript 相比,您可以获得 JSON 格式,而不是在循环时附加到表格中。

您可以在此处查看不完全符合您要求的示例。

您可以使用一些 jquery 动画来顺利加载数据。

Load data from database + ajax + php

【讨论】:

    【解决方案3】:

    您可以做的一件事就是获取基本列表,如果用户单击该行进行 ajax 调用,然后以同样的方式获取其余详细信息,您可以管理负载,而您不必同时获取所有行及其详细信息

    【讨论】:

      【解决方案4】:

      您可以通过在一定的时间限制内重复调用 ajax 调用来使用 jquery 更新该部分来做到这一点。

      【讨论】:

        猜你喜欢
        • 2015-04-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多