【问题标题】:Create page navigation using php使用 php 创建页面导航
【发布时间】:2012-01-30 22:39:15
【问题描述】:

我在尝试使用 php 创建页面导航时遇到了一些问题,

我有一个名为 $PageNo 的变量,我可以使用下一个上一个链接 -1 或 +1 进行导航。

例如。

echo "<a href='http://".$_SERVER["HTTP_HOST"]."/product.php?page=".($PageNo+1)."'>Next</a>";
echo "<a href='http://".$_SERVER["HTTP_HOST"]."/product.php?page=".($PageNo-1)."'>Prev</a>";

但同时这是想要显示页面的直接链接,所以我有这样的导航

上一个 1 2 3 4 下一个

echo "<a href='http://".$_SERVER["HTTP_HOST"]."/product.php?page=".($PageNo+1)."'>Next</a>";
echo "<a href='http://".$_SERVER["HTTP_HOST"]."/product.php?page=1'>1</a>";
echo "<a href='http://".$_SERVER["HTTP_HOST"]."/product.php?page=2'>2</a>";
echo "<a href='http://".$_SERVER["HTTP_HOST"]."/product.php?page=3'>3</a>";
echo "<a href='http://".$_SERVER["HTTP_HOST"]."/product.php?page=4'>4</a>";
echo "<a href='http://".$_SERVER["HTTP_HOST"]."/product.php?page=".($PageNo-1)."'>Prev</a>";

如果我知道产品页面的总数是 4,你将如何生成链接来提供

echo "<a href='http://".$_SERVER["HTTP_HOST"]."/product.php?page=1'>1</a>";
echo "<a href='http://".$_SERVER["HTTP_HOST"]."/product.php?page=2'>2</a>";
echo "<a href='http://".$_SERVER["HTTP_HOST"]."/product.php?page=3'>3</a>";
echo "<a href='http://".$_SERVER["HTTP_HOST"]."/product.php?page=4'>4</a>";

任何帮助都会很棒。

【问题讨论】:

  • 您有语法错误。在包含静态数字 (1-4) 的所有链接之后删除双引号 (")。你基本上是在结束你的字符串,而你不应该。
  • 是的,谢谢,这是一个错字,现已更正。 :-)

标签: php foreach navigation


【解决方案1】:

试试这个怎么样?

// $total_num : total number of the pages
foreach (range(1, $total_num) as $p) {
    echo "<a href='http://".$_SERVER["HTTP_HOST"]."/product.php?page=$p"'>$p</a>";
}

【讨论】:

    【解决方案2】:

    您需要进行数学运算,然后编写一些代码。

    1. 计算你需要的os页数(根据每页的os记录数和记录数)

    2. 只需使用 for 循环来执行类似(未测试)的链接:

      for ($page = 1; $page

    然后,product.php 页面读取该数字并显示记录子集

    【讨论】:

      【解决方案3】:

      这是一个简单的for loop,它是所有编程语言中非常基本的东西(就像 if/else 语句和 while 循环等)。

      假设总页数为 4,然后设置一个随机变量,例如 $p(用于页面)最初的起始值为 1,然后继续循环,每次将 $p 增加 1 直到 $p 为 4 . 会导致:

      // Previous link before the numbers (unless we are on page 1)
      if($PageNo > 1) {
          echo "<a href='http://".$_SERVER["HTTP_HOST"]."/product.php?page=".($PageNo-1)."'>Prev</a>";
      }
      
      // We loop over all the numbered pages here
      for($p = 1;$p <= 4;$p++) {
          echo "<a href='http://".$_SERVER["HTTP_HOST"]."/product.php?page=" . $p . "'>" . $p . "</a>";
      }
      
      // Next link goes after the numbers (if there are any pages left)
      if(($PageNo + 1) <= $p) {
          echo "<a href='http://".$_SERVER["HTTP_HOST"]."/product.php?page=".($PageNo+1)."'>Next</a>";
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-04-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多