加载循环查询的好方法

时间:2012-04-15 03:58:09

标签: php mysql ajax

如何在不需要加载页面的情况下运行文件(mysql查询循环)。是使用cronjob的唯一方法还是有任何替代解决方案。 到目前为止我尝试过的解 1)保持php文件打开并每10分钟自动重新加载一次。 2)当用户在页面上时使用ajax加载页面。 问题是;查询是循环的,需要时间才能完成。如何在不需要继续重新加载页面的情况下建立这个。 代码:

<meta http-equiv="refresh" content="600" >
<?php
    include("./includes/connect.php");
    $i = 1;
    $numberOfRows = mysql_query('SELECT COUNT(`id`) FROM table_name');
    $scoreboardquery = mysql_query("SELECT * FROM table_name ORDER BY points DESC");
    while(($row = mysql_fetch_assoc($scoreboardquery)) || $i<=$numberOfRows){
        $scoreid = $row['id'];
        $mysql_qeury = mysql_query("UPDATE table_name SET scoreboard_rank = '$i' WHERE id = '$scoreid'");
    $i++;
    }
            if($mysql_qeury){
            echo "Done!";
        }else
            echo "Not Done";
?>

清楚地了解我要做的事情。我试图根据他们的积分的降序给用户排名(第1,第2,第3)。 所以在飞行中,如果有任何解决方案来实现我想做的事情,那就更好了,请挺身而出。

1 个答案:

答案 0 :(得分:0)

在后台运行它,使用exec从命令行调用它

类似

exec("nohup php file.php >/dev/null 2>&1 &");

如果需要,添加文件路径,有时需要路径到php。