2017-10-18 32 views
0

我想创建我的第一个“新闻页面”。为了更好的用户体验,我试图做一个简单的分页,而不是滚动到永恒。有限页数在页

到目前为止,我已成功地:

  • 显示X每个网站消息数
  • 显示页面的底部,通过

我所缺少的是滚动,如果有很多新闻会显示大量的页面。如果我能够限制显示的页面数量,那将会好得多:

例如,如果我在第5页,我应该可以看到,第2,3,4,5,6,7,8。

我该如何将它实现到我的代码?我对此非常不确定。

我的代码

<? 

$sqlDos = "SELECT COUNT(id) FROM articles"; 


$rs_result = mysqli_query($con, $sqlDos); 
$row = mysqli_fetch_row($rs_result); 
$total_records = $row[0]; 

$total_pages = ceil($total_records/$limit); 
$pagLink = "<div class='pagination'>"; 


for ($i=1; $i<=$total_pages; $i++) { 
    if ($i == $page) { 
     $pagLink .= "<a class='active' href='#'>".$i."</a>"; 
    } else { 
     $pagLink .= " <a href='news.php?page=".$i."'>".$i."</a>"; 
    } 
}; 


echo $pagLink . "</div>"; 

?> 

我希望你把你的时间来解释如何可以做到这一点,因为这是我等的第一个项目。

非常感谢! :-)

编辑 我只显示相关的代码,因此,有些变量可能丢失,显示它们是什么 - 让我知道,如果你认为缺少了什么:)

+0

如果当前页面是2,什么是你想显示给用户 – Tarun

+0

@Tarun页面那么就应该只有1,2,3 ,4,5 - 每边最多三页,但如果用户只是在第2页,就像你说的那样重新只应该低一页(页1):) –

+0

好吧,我发布了答案 – Tarun

回答

0

帖子当前页面数到PHP脚本和应用以下逻辑:

$startPage = 1; 
$endPage = $page+ 3; 
if($currentPageNo > 3){ 
    $startPage = $page - 3; 
} 

for ($i=$startPage; $i<=$endPage; $i++) { 
    if ($i == $page) { 
     $pagLink .= "<a class='active' href='#'>".$i."</a>"; 
    } else { 
     $pagLink .= " <a href='news.php?page=".$i."'>".$i."</a>"; 
    } 
}; 
+1

谢谢你的帮助!理解需要做什么非常简单 - 谢谢! –