有点复杂,但我尽力解释我的问题。
我有一个主文件dashboard.html。 在其中我有一个jQuery函数来每15秒加载mysql_query以获得我需要的15个左右的变量。 (这是一个财务/销售网络应用程序......销售代理商希望销售,订单,赚取的收入等等实时更新)显示在#div中,其中包含多个列表项。使用每15秒,查询,然后整个div一次更新的方法没有问题。因此我没有附加Jquery效果(即fadeIn / fadeOut),因为整个div不断衰落。不是我想要的视觉效果,但就目前而言,它是有效的。
我的目标:能够每15秒执行一次mysql_query。抓住变量(我现在已经在做了。但是现在,我希望能够只更新已经改变的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包含(为清晰起见而删除)
<?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']);
}
最后包含在stats_count.php中我还包括列表项:
<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>
-D
答案 0 :(得分:1)
如果要更新多个div,则必须使用“.class”类而不是id“#id”选择它们。
要每15秒创建一次mysql_query,你需要创建setInterval(function(),15000),其中函数必须向某个页面发出ajax请求才能进行此查询..
我可以建议你为这些请求使用jQuery Ajax ..
答案 1 :(得分:0)
在不了解您的数据格式的更多细节的情况下,很难详细说明,但一般方法是:
答案 2 :(得分:0)
如果我理解正确,可以这样做: - 所有的listitems都必须有一个class属性,让我们说“list_items”。 - 在使用Jquery获取数据后,您可以在list_items上执行jquery.each(),这样您就可以检查该列表项的值是否= =新值,如果不是您更新列表项。 我希望这回答你的问题。