更新PHP Live

时间:2015-01-18 12:17:37

标签: php html

所以我有一个下载按钮,它记录了它点击的次数并更新了txt文件中的数字。然后该数字显示在index.php上 有没有一种方法可以让我的数字每5秒更新一次,而整个页面都不会刷新? (我已经阅读了很多其他帖子,但我不理解它们)

http://go-create.net(如果您想查看我使用过的代码,可以查看页面来源)

谢谢,

 插口 编辑:有点像http://minecraft.net上的实时更新下载次数,但它不需要有一个很好的数字更改动画)

2 个答案:

答案 0 :(得分:0)

您应该使用ajax来执行此操作,这很容易使用jQuery

例如:

$.ajax({
url: '/number.php'
success: function(response){
$('div#number').text(response)};
});

number.php是一个返回您要显示的数字的脚本。 div#number引用要更新的html元素。要使用jQuery,您必须包含jQuery库。

答案 1 :(得分:0)

回答你的问题让jQuery在你的服务器上提取PHP脚本的请求。在下面的示例中,每5秒调用一次PHP脚本。 check_clicks.php通过GET方法接收item_id,根据需要对其进行处理,并回应我们在data

中得到的结果
(function update_clicks() {
    $.ajax({
        type: 'GET',
        url: '/check_clicks.php',
        data: {item_id: item_id},
        complete: function (data) {
            $('#result_div').html(data);
            setTimeout(update_clicks, 5000);
        }
    });
})();

<小时/> check_clicks.php

假设您有一张名为download_stats的表格。你的表安排如

item_id | clicks
--------+-------
      1 |    56

要检索您需要执行查询的点击金额

$db = //your database connection here
$query = mysqli_query($db, "SELECT clicks FROM download_stats WHERE item_id = '$_GET['item_id']' LIMIT 1");`
while ($data = mysqli_fetch_assoc($query)
{
    echo $data['clicks'];
}