使用php创建页面导航


Create page navigation using php

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

我有一个名为$PageNo的变量,我可以使用下一个prev链接-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>";

但除此之外,我还想显示页面的直接链接,所以我有一个类似的导航

上一篇12 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>";

任何帮助都会很棒。

试试这个怎么样?

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

您需要先计算一下,然后再编写一些代码。

  1. 计算您需要的操作系统页数(基于每页的操作系统记录和记录数)

  2. 只需使用for循环来进行链接,如(未测试):

    for($page=1;$page<=$total_pg;++$page){echo"$page";}

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

记录的子集

这是一个简单的for循环,它是所有编程语言中非常基本的东西(就像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>";
}