更新多个项目

时间:2012-04-08 22:11:52

标签: php jquery ajax

我想实时更新一些项目而无需更改页面。

我已经将这样的东西用于另一个每5秒更新一次的项目。

我尝试为每件商品做这件事,但这让我的网站非常慢。

我被告知可以用jQuery完成,但我不知道究竟是怎么回事。

我想做什么:

使用PHP我将从我的数据库中获取信息,该信息将显示“1”或“0”

我需要更新这些:(如果他们是1)

<a id="first_icon" style="background: url(/images/first.gif); height:23px; width:23px; float:left; margin-right:3px;" href="first.php" title="First"></a>
<a id="sec_icon" style="background: url(/images/first.gif); height:23px; width:23px; float:left; margin-right:3px;" href="sec.php" title="Second"></a>
<a id="third_icon" style="background: url(/images/first.gif); height:23px; width:23px; float:left; margin-right:3px;" href="third.php" title="Third"></a>
<a id="four_icon" style="background: url(/images/first.gif); height:23px; width:23px; float:left; margin-right:3px;" href="four.php" title="Fourth"></a>

如果它们为“0”,则图标“id”将类似于“first_icon_2”

如何立即获得所有这些请求?

先谢谢了,我已经尝试了大约一个月。

1 个答案:

答案 0 :(得分:1)

您想要使用的是ajax调用。 jQuery有一个.ajax()函数:http://api.jquery.com/jQuery.ajax/非常简单。

基本上,您需要做的是设置一个PHP脚本,它可以执行您需要完成的任何处理。任何回显到页面上的内容都将通过ajax调用返回。如果您要处理多个项目,请查看JSON

由于您似乎需要返回多个值(每个图标1个),因此您需要在PHP中创建一个数组。该数组看起来像这样:

$icons = array("first_icon => 1, "second_icon => 0, "third_icon" => 0, "fourth_icon => 1);

然后,您可以使用json_encode将数组编码为一个字符串,该字符串将在您的javascript端可读:

$iconsJSON = json_encode($icons);
echo $iconsJSON;

如果您在主页面(带有javascript的那个)上设置AJAX功能,如下所示,您将能够引用任何icon键。

$.ajax({
dataType: 'JSON',
type: 'POST',
url: api_url+'client/'+client.id+'.json', 
data: {
    variable1: 'value',
    variable2: 'value',
    variable3: 'value'
},
success: function(data) {
    // On success perform this function
    var icons = data;
},
error: function(data) {
    // On failure perform this function
}
});

如果您需要更多指导,我建议您阅读此资源:http://www.jquery4u.com/json/ajaxjquery-getjson-simple/