PHP从分页中删除页面0
我能够让我的分页脚本工作,并且一切正常,除了当你转到第2页时,你可以看到第0页,如果你点击它,你什么也看不到 我需要修复当前代码,以便应用程序不会显示页面0 以下是必要的代码:PHP从分页中删除页面0,php,pagination,paging,Php,Pagination,Paging,我能够让我的分页脚本工作,并且一切正常,除了当你转到第2页时,你可以看到第0页,如果你点击它,你什么也看不到 我需要修复当前代码,以便应用程序不会显示页面0 以下是必要的代码: <?php $total_records = countRecords(); // self explanatory function called here $total_pages = ceil($total_records / $rec_limit); $adjacents = 2;
<?php
$total_records = countRecords(); // self explanatory function called here
$total_pages = ceil($total_records / $rec_limit);
$adjacents = 2;
$previousPage = $page - 1;
$nextPage = $page + 1;
$querystring = "";
$start = ($page < $adjacents ? 1 : $page - $adjacents);
$beginning = 1;
$end = ($page > $total_pages - $adjacents ? $total_pages : $page + $adjacents);
foreach($_GET as $key => $value)
{
if($key != "page") $querystring .= "$key=$value&";
}
echo
'<div class="row-fluid">
<div class="span2">'.countRecords()." total records" .'</div>
<div class="container pagination-small">
<ul style="margin: 3px;" class="pager">';
echo @"<li><a href=\"$targetpage?page=$beginning&$querystring\">First</a></li>";
if ($left_rec < $rec_limit)
{
$last = $page - 1;
echo @"<li><a href=\"$targetpage?page=$previousPage&$querystring\">
Previous</a></li>";
for($i= $start; $i <= $end; $i++)
{
echo @"<li " . ((($page)==$i)? "class=\"active\"" : "") . ">
<a href=\"$targetpage?page=$i&$querystring\">$i</a></li>";
}
}
else if($page == 0)
{
for($i= $start; $i <= $end; $i++)
{
echo @"<li " . ((($page)==$i)? "class=\"active\"" : "") . ">
<a href=\$targetpage?page=$i&$querystring\">$i</a></li>";
}
echo @"<li><a href=\"$targetpage?page=$nextPage&$querystring\">Next</a></li>";
}
else if ($page > 0)
{
$last = $page - 2;
echo @"<li><a href=\"$targetpage?page=$previousPage&$querystring\">
Previous</a></li>";
for($i= $start; $i <= $end; $i++)
{
echo @"<li " . ((($page)==$i)? "class=\"active\"" : "") . ">
<a href=\"targetpage?page=$i&$querystring\">$i</a></li>";
}
echo @"<li><a href=\"$targetpage?page=$nextPage&$querystring\">Next</a><li>";
}
echo @"<li><a href=\"$targetpage?page=$total_pages&$querystring\">Last</a></li>";
echo '<ul></div></div>';
逻辑缺陷:
$start = ($page < $adjacents ? 1 : $page - $adjacents);
为什么不
unset($_GET['page']);
$q = http_build_query($_GET);
$page设置在何处/如何设置?它等于什么?当前页面?我怀疑问题出在
上,否则如果($page==0)
更改为==
Marc B,谢谢您的回复。请原谅我,但是我如何在我当前的代码中使用它?我是否应该删除带有逻辑缺陷的代码(如您上面所述)?请告知。
foreach($_GET as $key => $value) { ... }
unset($_GET['page']);
$q = http_build_query($_GET);