我在尝试使用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>";
}
您需要先计算一下,然后再编写一些代码。
-
计算您需要的操作系统页数(基于每页的操作系统记录和记录数)
-
只需使用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>";
}