我对css、html、php、javascript等都很陌生,但我正在通过堆栈溢出技术缓慢但肯定地构建一个小型博客站点。请记住,我只编码了大约5个月。
我要找的是分页方面的一些帮助,我已经搜索过了,但是我需要有人为我的搜索指明明确的方向,或者至少帮我一下。
我想要“自动分页”我的页面,所以例子;如果我想每页15篇博客文章,在每一页上,我如何自动使用分页,php等。我知道我可以手动这样做,但随着我增加更多的博客帖子,它变得相当繁琐,随着时间的推移,所以我在寻找一种方法“自动完成”,如果有办法。
感谢每一个理解并愿意帮助的人!
发布于 2016-06-28 22:03:51
您可以使用$_SESSION进行分页,这是您需要的:
例如,如果您有100个帖子(从0到99),您希望每页显示10个帖子,而当前的帖子是60,那么您必须显示60到69的帖子。这三条重要的数据可以存储在$_SESSION变量中:
$_SESSION[ "posts" ]。$_SESSION[ "per_page" ]。$_SESSION[ "current" ]。您必须使用$_SESSION,因为$_SESSION数据在页面刷新后仍然存在。
接下来是一个没有数据库的示例,因此“post”存储在一个数组中。为了测试它,在文件中复制粘贴下一个代码,将文件保存为.PHP并在浏览器中打开它:
<?php
session_start(); // NECESSARY TO USE $_SESSION.
// SAMPLE DATA.
$_SESSION[ "posts" ] = array( "aaa","bbb","ccc","ddd","eee","fff","ggg",
"hhh","iii","jjj","kkk","lll","mmm","nnn" );
$_SESSION[ "per_page" ] = 4; // PAGES PER PAGE.
if ( ! isset( $_SESSION[ "current" ] ) ) // IF THIS IS THE FIRST PAGE
$_SESSION[ "current" ] = 0; // CURRENT BLOG.
if ( isset( $_POST[ "submit" ] ) ) // IF "PREVIOUS" OR "NEXT" WERE PRESSED
{ if ( ( $_POST[ "submit" ] == "Previous page" ) &&
( ( $_SESSION[ "current" ] - $_SESSION[ "per_page" ] ) >= 0 ) )
$_SESSION[ "current" ] -= $_SESSION[ "per_page" ];
if ( ( $_POST[ "submit" ] == "Next page" ) &&
( ( $_SESSION[ "current" ] + $_SESSION[ "per_page" ] ) <
count( $_SESSION[ "posts" ] ) ) )
$_SESSION[ "current" ] += $_SESSION[ "per_page" ];
}
?>
<html>
<body>
Showing posts :
<br/>
<?php
// DISPLAY ONE PAGE OF POSTS (FROM CURRENT TO CURRENT + PER_PAGE - 1).
for ( $i = $_SESSION[ "current" ];
$i < ( $_SESSION[ "current" ] + $_SESSION[ "per_page" ] ); $i++ )
if ( isset ( $_SESSION[ "posts" ][ $i ] ) ) // IN CASE LAST PAGE IS ODD
echo $_SESSION[ "posts" ][ $i ] . "<br/>";
?>
<br/>
<form method="post">
<input type="submit" name="submit" value="Previous page"/>
<input type="submit" name="submit" value="Next page"/>
</form>
</body>
</html>要使这个工作与您已经创建的博客站点,获取您的帖子的it,并将其存储在数组,并在HTML部分,使用这些it从数据库获取帖子的数据,并显示在屏幕上。
https://stackoverflow.com/questions/38086140
复制相似问题