-4

我的页面在这里遇到问题:

关联

当您单击第 2 页及以后的页面时,表格的“排名”部分会一直重置为零。它不是从 21 开始的,它只是重置为零。

我该如何解决?

<?php 
include ("database.php");
if (isset($_GET["page"])) { $page  = $_GET["page"]; } else { $page=1; }; 
$start_from = ($page-1) * 20; 
$sql = ("SELECT * FROM voting ORDER BY votepoints DESC LIMIT $start_from, 20") or die ("Error 1."); 
$rs_result = mysql_query ($sql) or die (include ("error.html"));
$rank = 1;
?> 
<table>
<tr><td>Rank</td><td></td><td>Username</td><td></td><td></td><td></td><td>Vote points</td></tr>
<?php
while ($row = mysql_fetch_assoc($rs_result)) { 
?> 
            <tr>
            <td><? echo $rank++; ?></td>
            <td></td>
            <td><? echo $row["username"]; ?></td>
            <td></td>
            <td></td>
            <td></td>
            <td><? echo $row["votepoints"]; ?></td>
            </tr>
<?php 

}; 
?> 
</table>


<?php
echo '<br>';
echo 'Total Votes: ';
include ("sum.php");
include("database.php");

$sql = "SELECT COUNT(votepoints) FROM voting"; 
$rs_result = mysql_query($sql);
$row = mysql_fetch_row($rs_result);
$total_records = $row[0];
$total_pages = ceil($total_records / 20);

echo '<span class="text-bleumarin">';
if($page>1)
$pagelink ='<a href="votes.php?page='.($page-1).'">prev</a> ';
echo $pagelink;

for ($i=1; $i<=$total_pages; $i++) {
if ($i != $page)
echo "<a href='votes.php?page=".$i."'>".$i."</a> ";
if ($i==$page)
echo '' . $i . ' ';
};


if($page<$total_pages)
$pagelink ='<a href="votes.php?page='.($page+1).'">next</a> ';
echo $pagelink;
echo '</span>';

?>
4

1 回答 1

2

编辑:这是您需要更改的行 * EDIT2:当您将 1 设置为默认值时,从页面中减去 1。*

<td><? echo (($page-1)*20)+$rank++; ?></td>

这将做:

(0*20) + 1 = 1
(0*20) + 2 = 2
...
(0*20) + 20 = 20
(1*20) + 1 = 21
(1*20) + 2 = 22
...
(1*20) + 20 = 40
(2*20) + 1 = 41
(2*20) + 2 = 42
...
(2*20) + 20 = 60
...
(21*20) + 1 = 421

注意:发布此解决方案时未提供代码

假设您正在使用某种 for 循环来保持计数:

if (!isset($_GET['page']))
{
    $page=0;
}
else
{
    $page=$_GET['page'];
}
for($i=1; $i<21; $i++)
{
    echo '<tr>';
    echo '<td>'.($page*20)+$i.'</td>;' //THIS IS THE RANK LINE
    //Other fields
    echo '</tr>';
}
于 2010-10-04T19:26:39.570 回答