php分页问题

时间:2010-07-28 07:53:30

标签: php paging

我有一个带分页选项的php页面

我使用follwoing sql语句生成总页数

      $rowsPerPage=25;
      $pageNum = 1;
      if(isset($_GET['page']))
      {
      $pageNum = $_GET['page'];
      }
      $offset = ($pageNum - 1) * $rowsPerPage;

      $query   = "SELECT COUNT(id) AS numrows FROM TableA"
      $result  = mysql_query($query) or die('Error, query failed');
      $row     = mysql_fetch_array($result, MYSQL_ASSOC);
  $numrows = $row['numrows'];
  $maxPage = ceil($numrows/$rowsPerPage);

现在我有以下代码来编写下一页/上一页链接

       $page  = $pageNum - 1;
       $prev  = " <a  href=\"$self?page=$page\" class=\"RedNorm\">[Prev]</a> ";

       $page = $pageNum + 1;
      $next = " <a href=\"$self?page=$page\" class=\"RedNorm\">[Next]</a> ";

我的问题是:

当我通过abc.php这样的页面传递任何查询时?m = 1&amp; page = 2

单击[上一页] / [下一页]页面链接后,查询字符串将不可用。

我可以在

中解决问题
  $prev  = " <a  href=\"$self?page=$page\" class=\"RedNorm\">[Prev]</a> ";

语句

如何获取页面名称加上所有查询字符串代替$ self,因为这只是获取页面名称。

由于

2 个答案:

答案 0 :(得分:2)

只需将其他变量添加到链接中即可。

如果您不知道它们是什么/可能是什么,您可以尝试这样的事情:

$q = "?";
foreach($_GET as $k=>$v) {
    if($k == "page") continue;
    $q .= htmlentities($k) . "=" . htmlentities($v) . "&amp;";
}

$page  = $pageNum - 1;
$prev  = " <a  href=\"$self${q}page=$page\" class=\"RedNorm\">[Prev]</a> ";

$page = $pageNum + 1;
$next = " <a href=\"$self${q}page=$page\" class=\"RedNorm\">[Next]</a> ";

这会将所有查询字符串变量附加到链接,以将其传递给下一页。

答案 1 :(得分:0)

您应该使用$SELF代替$self