2016-12-02 67 views
0

我对PHP和编码颇为陌生,我的index.php显示了提交到我的数据库中的最后20篇博文。我如何创建分页,以便一次只显示10个帖子,下一个按钮可查看另外10个帖子?PHP MYSQL分页

<ol> 
    <?php 

    $link = mysqli_connect('localhost', 'BlogDB', 'password' ); 
    mysqli_select_db($link, 'BlogDB'); 

    $results = mysqli_query($link, 'SELECT * FROM Blog '); 

    $resultsArr = array(); 
     while($record = mysqli_fetch_assoc($results)) { 
     $title = $record['title']; 
     $email = $record['email']; 
     $post = $record['post']; 

     array_push($resultsArr, "<li>$title <br> $email <br>$post</li>"); 
    } 

    mysqli_free_result($results); 


    for ($i = count($resultsArr); $i > 0; $i--) { 
     if ($i >= count($resultsArr) - 10) { 
     print $resultsArr[$i]; 
     } 
    } 
    ?> 
</ol> 
+3

http://stackoverflow.com/questions/3705318/simple-php-pagination-script/3707457#3707457 – Fabio

回答

0

进行分页查询的结果:

你必须做一个函数,输入:$ numberPerPage,$ PAGENUMBER

让我们做一个手工执行

例如: $ numberPerPage = 10;和$ PAGENUMBER = 3

我们可以确定,从后启动列表: ($的PageNumber-1)* $ numberPerPage =>(3-1)* 10 = 20

和职位的数目显示=> $ numberPerPage = 10

所以请求将是这样

SELECT * FROM Blog LIMIT 10 OFFSET 20; 

=>仅返回10的帖子,开始记录21(OFFSET 20)

最后为观点:您必须知道链接到页面的总页数: 为此,有必要知道帖子的总数,然后将其除以$ numberPerPage!

这是为了显示页面的链接的例子:

for ($i = 1; $i <= $totalPageNumber; $i++) 
echo "<a href='index.php?page=".$i."'>".$i."</a>"; 

在index.php文件与$ _GET [“页”]页码获取和调用,将让将使用相应的职位功能上面的sql查询。

我希望你明白我的想法:)