我有一堆代码用于分页。我在一个很长的页面的顶部使用这段代码,并且我在页面底部也有完全相同的代码。复制代码似乎不是很有效。我希望通过以某种方式优化我的页面在页面顶部调用一次代码,然后在页面底部放置相同的代码....
我认为这可以通过函数完成,但是我的php不是很好,而且我做过的几次尝试都导致了失败。函数中有很多变量($ total_num_results,$ perpage,$ p,$ pages),我认为这是我迷路的地方......有人可以告诉我如何使用函数执行此操作吗?
或者,我虽然可以创建一个include(并且只调用两次文件),但我想避免链接到其他文件......
<center>
Page: <span class="pagination"><?php
// PREVIOUS link
if($total_num_results > $perpage && $p!='1')
{
$p1 = $p-1;
echo "<a href=\"mypage/index.php?p=".$p1."\">previous</a>";
} else {
echo '<span class="paginationon">previous</span>';
}
// Pages
for ($i=0; $i < $pages; $i++)
{
$j = $i+1;
if ($j == $p)
{
echo '<span class="paginationon">'.$j.'</span>';
} else {
echo '<a href="mypage/index.php?p='.$j.'">'.$j.'</a>';
}
}
// NEXT link
if($total_num_results > $perpage && $p!=$pages)
{
$p2 = $p+1;
echo '<a href="mypage/index.php?p='.$p2.'">next</a>';
} else {
echo '<span class="paginationon">next</span>';
}
?></span>
</center>
答案 0 :(得分:0)
<?php
function pagination(){
global $total_num_results, $perpage, $p, $pages;
if($total_num_results > $perpage && $p!='1')
{
$p1 = $p-1;
echo "<a href=\"mypage/index.php?p=".$p1."\">previous</a>";
} else {
echo '<span class="paginationon">previous</span>';
}
// Pages
for ($i=0; $i < $pages; $i++)
{
$j = $i+1;
if ($j == $p)
{
echo '<span class="paginationon">'.$j.'</span>';
} else {
echo '<a href="mypage/index.php?p='.$j.'">'.$j.'</a>';
}
}
// NEXT link
if($total_num_results > $perpage && $p!=$pages)
{
$p2 = $p+1;
echo '<a href="mypage/index.php?p='.$p2.'">next</a>';
} else {
echo '<span class="paginationon">next</span>';
}
}
?>
然后在HTML
中<center>
Page: <span class="pagination"><?php pagination(); ?></span>
</center>