我知道ajax可能是最好的方法。
所以,我有一个php文件,它返回一个计数:

<?php
    include('globals.php');
    $query = mysqli_query($con, "SELECT COUNT(*) as total FROM solicitacoes WHERE visualizada = 0");
    $resultado = mysqli_fetch_array ($query);
    $sem_visualizar = $resultado['total'];
    return $sem_visualizar;

我的主页上有这个:
<?php
    if($_SESSION['funcao_corrente']=="adm" || $_SESSION['funcao_corrente']=="analista"){
    echo '<label onclick="mudaIframe();" id="visu" ';
    if ($sem_visualizar == 0)
        echo 'style="background-color: darkgray; color: black;"';
    else if ($sem_visualizar<=5)
        echo 'style="background-color: green;"';
    else if ($sem_visualizar>5 && $sem_visualizar <= 15)
        echo 'style="background-color: orangered;"';
    else if ($sem_visualizar>15)
        echo 'style="background-color: red;"';

        echo '>'.$sem_visualizar.'</label>';
    }
?>

基本上,它只是根据值改变颜色,但问题是:
我想让它通过返回count的PHP文件自动刷新自己的值,但我完全不知道该怎么做。
我在另一个答案中找到了这个代码,但它不起作用。
<script>
    function get_msg_count(){
        $.ajax ({
            data: {}, // not really needed
            type: 'POST',
            url:  'contar_sem_visualizar.php', // page to return your msg count
            success: function(response)
            {
                $('#visu').html(response);
            }
            }
        }); // End $.ajax
    } // End Function

    // and on DOM ready
    $(function(){
        // check for new messages every 3 seconds(3000ms)
        setInterval(get_msg_count(), 3000)
    });
</script>

最佳答案

您可以使用$.load来实现这一点:
HTML格式

<span id="count"></span>

jQuery公司
$("#count").load("contar_sem_visualizar.php");

10-07 12:51
查看更多