首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动分页或类似的东西

自动分页或类似的东西
EN

Stack Overflow用户
提问于 2016-06-28 20:54:56
回答 1查看 288关注 0票数 0

我对css、html、php、javascript等都很陌生,但我正在通过堆栈溢出技术缓慢但肯定地构建一个小型博客站点。请记住,我只编码了大约5个月。

我要找的是分页方面的一些帮助,我已经搜索过了,但是我需要有人为我的搜索指明明确的方向,或者至少帮我一下。

我想要“自动分页”我的页面,所以例子;如果我想每页15篇博客文章,在每一页上,我如何自动使用分页,php等。我知道我可以手动这样做,但随着我增加更多的博客帖子,它变得相当繁琐,随着时间的推移,所以我在寻找一种方法“自动完成”,如果有办法。

感谢每一个理解并愿意帮助的人!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-28 22:03:51

您可以使用$_SESSION进行分页,这是您需要的:

  • 这些帖子本身(或它们的ids)。
  • 每页要显示多少个帖子。
  • 当前屏幕上的帖子是什么?

例如,如果您有100个帖子(从0到99),您希望每页显示10个帖子,而当前的帖子是60,那么您必须显示60到69的帖子。这三条重要的数据可以存储在$_SESSION变量中:

  • $_SESSION[ "posts" ]
  • $_SESSION[ "per_page" ]
  • $_SESSION[ "current" ]

您必须使用$_SESSION,因为$_SESSION数据在页面刷新后仍然存在。

接下来是一个没有数据库的示例,因此“post”存储在一个数组中。为了测试它,在文件中复制粘贴下一个代码,将文件保存为.PHP并在浏览器中打开它:

代码语言:javascript
复制
<?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从数据库获取帖子的数据,并显示在屏幕上。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38086140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档