基于数据库值的实时DIV背景颜色更新

时间:2014-03-31 04:57:48

标签: php jquery

我希望div根据从数据库中检索的值更改颜色。 当前代码不提供任何颜色并使用设置的css颜色。

主要广告

.status{    background: #000;   }

status.php

if ($user_data['status'] === "1") { echo "online"; } 
else {                              echo "offline";  }

ajax功能

 $(document).ready(function() {
    setInterval(function(){
      $.ajax({
        url: 'status.php',
        type: 'GET',
        success: function(data) {
            if (data === "online") {
               $('.status').css('background', '#40A547');
            } else { 
               $('.status').css('background', '#7f8c8d');
            }
        }
    });
   }, 2000);
});

主要分组

 <div class="status">something</div>

请帮帮我。非常感谢所有帮助!

3 个答案:

答案 0 :(得分:0)

使用此代码可以识别问题:

$(document).ready(function() {
    setInterval(function(){
    $.ajax({
        url:'status.php',
        datatype:"application/json",
        type:'GET',
        success:function(data){
            if (data === "online") {
                $('.status').css('background', '#40A547');
            } else {
                $('.status').css('background', '#7f8c8d');
            }
        },
        error:function(){
            //if pointer is comming it means there is some error in the back end code
        }
    });
    }, 2000);
});

现在检查您的firebug它会显示error details,如果您没有使用firebug添加它,然后检查。

还会放置一些content in the div以便它可见。如果没有内容div则不会出现。

希望这会有所帮助!

答案 1 :(得分:0)

你的div中没有​​任何东西,所以它的高度和宽度基本上都是0,所以你看不到任何东西(我认为你的意思是“当前代码没有任何颜色”)。

如果指定高度和宽度,或在div中添加内容(即使是&nbsp;),您应该看到背景颜色。

答案 2 :(得分:0)

这意味着你没有从你的ajax回来'在线'。你需要编辑你的AJAXing的PHP代码纯粹说'在线',没有div或标记。