2013-11-22 39 views
0

所以我想在每條記錄之前顯示行號(排名)。 現在下面的代碼在第一頁上顯示正確。 1到25,但是我去了第二頁,然後在行號之前添加了6。應該是26到50,但是它是626到650.如果數字6在那裏,那將是正確的。所以它繼續,在第3頁1251到1275(應該是51到75)。這裏有什麼問題?顯示行號

$page = isset($_GET['page']) ? intval($_GET['page']) : 1; 
$perPage = 25; 
$offset = ($page - 1) * $perPage; 

$query "SELECT name, exp FROM people ORDER BY exp DESC LIMIT $offset, $perPage"; 


<? $i = (($perPage * $offset) +1); foreach($db->query($query) as $row): ?> 
Ranking: <?=$i?> 
Name: <?=$row['name']?> 

<? $i++; endforeach ?> 

回答

1

您的$i計算錯誤。您已經在偏移量計算中使用了$perPage。爲什麼再次使用它?

$i = (($perPage * $offset) +1); 

應該

$i = $offset + 1; 

Demonstration for fun