【问题标题】:Dynamic pagination depending on the number of rows in mySQL database根据 mySQL 数据库中的行数进行动态分页
【发布时间】:2026-01-04 09:05:03
【问题描述】:

我正在尝试为我的 mySQL 数据库进行动态分页。每页结果为20,页数(显示在底部)取决于$totalPages

我目前在 for-loop 之后转义字符串时遇到了一些问题。有人可以帮我仔细检查一下吗?

$result = mysql_query("SELECT COUNT(0) FROM Spreadsheet");
$rows = mysql_fetch_array($result);

$total = $rows[0];
$totalPages = ceil($total/20);
$i=0;

$pages = "Pages :";

    echo $pages;

    for ($i; $i<$totalPages; $i++){
    echo "<a href=\"index.php?page='$i'rpp=20\">$i</a>";

    }

结果应如下所示:

Pages: 1, 2, 3, 4, 5, etc..

感谢您的帮助!

【问题讨论】:

  • 有什么问题?它当前显示什么? $rpp 是从哪里来的,$totalPages 的值是多少
  • $totalPages 的输出为 2291(行)。我删除了 $rpp。我将该值设置为 20,即每页 20 个结果。
  • &lt;a href=\"index.php?page='$i'rpp=20\"&gt;$i&lt;/a&gt; 将生成以下链接(带有 $i==1)&lt;a href=\"index.php?page='1'rpp=20\"&gt;1&lt;/a&gt; 看起来您缺少 &amp; 并在您的页面周围加上引号 int

标签: php html mysql pagination


【解决方案1】:
for ($i; $i<$totalPages; $i++){
   echo '<a href="index.php?page='.$i.'&rpp=20">['.$i.']</a>';
}

【讨论】:

  • 谢谢。我会在 7 分钟内接受你的回答。非常感谢 :-)。编辑:如果我想将它们显示为 [1] [2] [3] [4] 等,我将如何实现?
【解决方案2】:

如果你删除了 rpp 那么它应该是

echo "<a href=\"index.php?page=".$i."\">".$i."</a>";

【讨论】: