如何在php分页中从页码开始?
我有PHP分页,它显示了上一页和第一页的活动编号,但它不应该显示活动类。我试过使用下面的代码,对于搜索结果,URL中没有页码。如何显示当前页面的分页如何在php分页中从页码开始?,php,Php,我有PHP分页,它显示了上一页和第一页的活动编号,但它不应该显示活动类。我试过使用下面的代码,对于搜索结果,URL中没有页码。如何显示当前页面的分页 $limit = 20; $total = count($_productCollection); //150 $total_pages = ceil($total / $limit); $page=1; echo "<ul class='pagination'>"; echo
$limit = 20;
$total = count($_productCollection); //150
$total_pages = ceil($total / $limit);
$page=1;
echo "<ul class='pagination'>";
echo "<li><a href='index.php?page=".($page-1)."' class='button'>Previous</a></li>";
for ($i=1; $i<=$total_pages; $i++) {
echo "<li><a href='index.php?page=".$i."'>".$i."</a></li>";
};
echo "<li><a href='index.php?page=".($page+1)."' class='button'>NEXT</a></li>";
echo "</ul>";
$limit=20;
$total=计数($\u productCollection)//150
$total_pages=ceil($total/$limit);
$page=1;
回声“”;
回声“”;
对于($i=1;$i
for($i=1;$i我对您的代码做了一些小改动。它应该可以很好地工作。
复制并粘贴下面的代码
$limit=20;
$total=计数($\u productCollection);//150
$total_pages=ceil($total/$limit);
$page=isset($\u GET['page'])?$\u GET['page']:1;//从请求或默认值1获取页面
回声“”;
if($page>1)//仅当当前页面大于1时显示上一页
回声“”;
对于($i=1;$i),当实际页面等于
$i
变量时,应将活动类添加到
元素
您遇到的问题是使用了$page
变量static(它总是=1)。您应该从$\u get['page']
变量中获取page的值
此外,我还添加了一个条件,以检查它的第一页是否不显示上一页
<?php
$limit = 20;
$total = count($_productCollection); //150
$total_pages = ceil($total / $limit);
$page= isset($_GET['page']) ? $_GET['page'] : 1; ;
?>
编辑
这段代码可以做你想做的事,但不是你应该做的。假设你有100多页。会发生什么?你显示所有的页面,所以所有的数字都显示在屏幕上。我建议使用一些jQuery
库。看看这一个。它将帮助你以一种非常简单的方式实现prev 1 2 3…150 next
你说的活动类是什么意思?
你可以通过执行$\u get['page'];
来获取当前页面,如果查询字符串中没有页面,如何显示prev 1 2 3 4…150 next$page=1。假设他说他不知道(我在url中没有页码)。然后他问(如何显示当前页面的页码)我不知道为什么它不是一个合适的答案。我确信它会在页码中突出显示数字1。@mike您是否修复了它或需要更多帮助?
$limit = 20;
$total = count($_productCollection); //150
$total_pages = ceil($total / $limit);
$page= isset($_GET['page']) ? $_GET['page'] : 1; //get page from request or default 1
echo "<ul class='pagination'>";
if($page > 1) //only show prev if current page is greater than 1
echo "<li><a href='index.php?page=".($page-1)."' class='button'>Previous</a></li>";
for ($i=1; $i<=$total_pages; $i++) {
if($i == $page){
echo "<li class='active'> <span>".$page."</span></li>";
}else{
echo "<li><a href='index.php?page=".$i."'>".$i."</a></li>";
}
};
if($page < $total_pages) //only show next if current page is less than total page
echo "<li><a href='index.php?page=".($page+1)."' class='button'>NEXT</a></li>";
echo "</ul>";
<?php
$limit = 20;
$total = count($_productCollection); //150
$total_pages = ceil($total / $limit);
$page= isset($_GET['page']) ? $_GET['page'] : 1; ;
?>
<ul class="pagination">
<?php
//if its first page don't show previous ( Also you need to do the same thing for last page)
if ($page > 1) { ?>
<li><a href="index.php?page=<?php echo $page-1 ?>"> Previous </a></li>
<?php } ?>
<?php for ($i=1; $i<=$total_pages; $i++) {
//if its active page add active variable
if($page == $i){
$class = 'active';
}else{
$class = '';
}
?>
<li class="<?php echo $class; ?>"><a href='index.php?page=<?php echo $i ?>'><?php echo $i ?></a></li>
<?php } ?>
<li><a href="index.php?page=<?php echo $page + 1 ?>"> NEXT </a></li>
</ul>
echo '<ul class="pagination">';
//if its first page don't show previous ( Also you need to do the same thing for last page)
if ($page > 1) {
echo '<li><a href="index.php?page='.($page-1).'"> Previous </a></li>';
}
for ($i=1; $i<=$total_pages; $i++) {
if($page == $i){
$class = 'active';
}else{
$class = '';
}
echo '<li class="'.$class.'"><a href="index.php?page='.$i.' ">$i</a></li>';
}
echo '<li><a href="index.php?page='.($page + 1).'"> NEXT </a></li>';
echo '</ul>'