Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php jQuery更新多个#div,一个mysql#u查询_Php_Jquery_Mysql_Html - Fatal编程技术网

Php jQuery更新多个#div,一个mysql#u查询

Php jQuery更新多个#div,一个mysql#u查询,php,jquery,mysql,html,Php,Jquery,Mysql,Html,有点复杂,但我会尽力解释我的问题 我有一个主文件dashboard.html。 其中我有一个jQuery函数,每15秒加载一次mysql_查询,以获得我需要的15个左右的变量。(这是一个财务/销售网络应用程序…销售代理希望销售、订单、收入等的近实时更新)显示在#div中,其中包含多个列表项。每15秒,查询一次,然后一次更新整个div,这种方法没有问题。因此,我没有附加Jquery效果(即fadeIn/fadeOut),因为整个div都在不断衰减。不是我想要的视觉效果,但就目前情况而言,它是有效的

有点复杂,但我会尽力解释我的问题

我有一个主文件dashboard.html。 其中我有一个jQuery函数,每15秒加载一次mysql_查询,以获得我需要的15个左右的变量。(这是一个财务/销售网络应用程序…销售代理希望销售、订单、收入等的近实时更新)显示在#div中,其中包含多个列表项。每15秒,查询一次,然后一次更新整个div,这种方法没有问题。因此,我没有附加Jquery效果(即fadeIn/fadeOut),因为整个div都在不断衰减。不是我想要的视觉效果,但就目前情况而言,它是有效的

我的目标是:能够每15秒进行一次mysql_查询。抓取变量(我现在已经在做了。但是现在,我希望能够只更新已更改的ListItem,并将淡入淡出效果附加到该项,而不是整个#div)

我试图避免的是将查询分离为15个单独的查询,因为这显然是不高效的

希望这对每个人都有意义。可以提供代码,但我不认为在这一点上会有帮助。我需要了解我需要采取什么方法来开发正确的代码。感谢大家预期的帮助

编辑:我添加了一些代码来帮助澄清我的立场: dashboard.html

var auto_refresh = setInterval(function (){
$('#order_jq').load('stats_count.php')
}, 15000); // refresh every 15 seconds
然后在身体里:

<div class="span8">
<div id="order_jq" class="centerContent">
Patiently loading stats ...
</div><!-- End id="ortder_jq -->
</div><!-- End .span8 -->

耐心地加载统计数据。。。
stats_count.php由以下部分组成(为清晰起见,已精简)


如果要更新多个div,则必须使用它们的class“.class”not id“#id”来选择它们

要每15秒创建一次mysql_查询,您需要设置setInterval(function(),15000),其中函数必须向执行此查询的某个页面发出ajax请求


我可以建议您对这些请求使用jQuery Ajax..

而不知道返回数据的格式的更多细节,因为很难了解具体情况,但一般的方法是:

  • 将当前值存储到对象中
  • 使用传入值创建新对象
  • 循环浏览对象的属性,比较传入值 现有价值观
  • 更新单个面板(通过类或更具体的id)
  • 将传入值对象转换为对象中的当前值 为下一个sql查询做准备

  • 如果我理解正确,可以这样做: -所有listitems都必须有一个class属性,比如“list\u items”。 -使用Jquery获取数据后,您可以对列表项执行Jquery.each(),这样您可以检查该列表项的值是否=新值(如果不是),然后更新列表项。
    我希望这能回答你的一点问题。

    所以我让查询每15秒毫无问题地更新整个#div。效果很好。那么.class..我想现在我很困惑。如何将加载count.php查询字符串的update ajax函数关联到dahsboard.html中相应的#div?好的。我来看看.each函数。直到现在我才熟悉它。但是这个概念看起来不错!
    <?php
    require "database/connect2.php";
    $result = mysql_query( "SELECT .... NORMAL QUERY...NOTHING FANCY HERE")
    while ($row = mysql_fetch_array($result))
    {$orders = number_format($row['ordercount']);
    $annual_order = number_format($row['annual_order']);
    }
    
    <ul class="bigBtnIcon">
        <li>
          <a href="#">
            <span class="icon entypo-icon-phone"></span>
            <span class="txt">Orders</span>
            <span class="notification"><?php echo $orders?></span>
          </a>
         </li>
          <li>
            <a href="#">
              <span class="icon brocco-icon-mic"></span>
              <span class="txt">Auburn</span>
              <span class="notification blue"><?php echo $annual_order ?></span>
            </a>
          </li>
    </ul>