0
如何在不需要加載頁面的情況下運行文件(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";
?>
提供有關什麼,我試圖做一個清晰的概念。我試圖根據他們的積分降序給用戶一個排名(第一,第二,第三)。 因此,如果有任何解決方案來實施我想要做的事情,那麼請更好地出面。
嘗試爲表更新過程創建一個存儲過程,它將從應用程序中刪除循環的負載,並且會更快。 – ray 2012-04-15 04:19:30
開發系統時,我跑了3次性能測試,發現更新應該遠離主文件。 – 2012-04-15 04:34:54
是否沒有觸發因素將獎勵給用戶?在查詢和while循環中,它看起來像試圖增加字段scoreboard_rank而沒有任何條件。你不能嘗試一個單一的更新查詢做一個增量的這個領域而不是循環? – ray 2012-04-15 05:06:20