2016-12-02 68 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查詢。

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