php分页问题

发布于 2024-09-11 22:15:40 字数 1117 浏览 5 评论 0原文

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

,我使用下面的 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&page=2

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

我可以理解问题在于

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

声明

中如何获取页面名称以及 $self 位置的所有查询字符串,因为这只是获取页面名称。

谢谢

i have one php page with paging option

i use follwoing sql statement to generate total number of pages

      $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);

now i have follwoing code to write Next / Previous pages link

       $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> ";

my problem is:

when i pass any query sting with page like abc.php?m=1&page=2

that query string will not be available once i click on [Prev] / [Next] page link.

i can undersatnd the problem is in

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

statement

how can i get page name plus all the query strings on place of $self as this is only getting page name.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

小镇女孩 2024-09-18 22:15:40

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

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

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

$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> ";

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

Just add the other variables to the link.

If you don't know what they are/might be, you might try something like this:

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

$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> ";

That will append all the query string variables to the link, to pass it to the next page.

你げ笑在眉眼 2024-09-18 22:15:40

您应该使用 $SELF 而不是 $self

You should use $SELF instead of $self.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文