搜尋
首頁後端開發PHP問題php怎麼實現分頁效果

php怎麼實現分頁效果

分頁效果在網頁中是常見的,可是怎樣才能實現分頁呢,今天做了兩種方法來實現一下分頁的效果。

首先,我們需要準備在資料庫裡面準備一個表,並且插入數據,這些都是必需的前提工作了,不多說,如圖所示(庫名為jereh,表名為n_content) :

php怎麼實現分頁效果

步驟分析:

我們需要分頁的話,需要用到  "select * from tableName limit  num1,num2」;這是一個限定查詢的語句,後面跟著兩個參數,num1為從第幾個開始查找,num2為查找的資訊的個數,如我想查找2,3,4這三條數據,如下圖所示:

php怎麼實現分頁效果

相關推薦:《PHP教學

好了,我們開始說步驟:

1.建立一個函數,用來實現限制查詢的功能。

首先我們來想一下,實現這個功能我們首先要知道當前的頁數和要限制的一個頁面顯示幾條信息,這個可以用形參傳過來,那麼,

#我們設定pageNum為頁數,pageSize為一個頁面顯示幾個數據,在"select * from tableName limit  num1,num2」這個查詢語句中,

num1就是(pageNum-1)*pageSize,num2就是pageSize,明白了這個關係之後,那麼就好辦了,程式碼在下面:

//分页的函数
function news($pageNum = 1, $pageSize = 3)
{
    $array = array();
    $coon = mysqli_connect("localhost", "root");
    mysqli_select_db($coon, "jereh");
    mysqli_set_charset($coon, "utf8");
    // limit为约束显示多少条信息,后面有两个参数,第一个为从第几个开始,第二个为长度
    $rs = "select * from n_content limit " . (($pageNum - 1) * $pageSize) . "," . $pageSize;
    $r = mysqli_query($coon, $rs);
    while ($obj = mysqli_fetch_object($r)) {
        $array[] = $obj;
    }
    mysqli_close($coon,"jereh");
    return $array;
}

上面的程式碼中,值得注意的是,limit後面一定要加一個空格,不然會出錯誤;

2.建立第二個函數,用來顯示總頁數的函數。

這個沒什麼新的知識點,都是以前寫過的知識點了,直接看程式碼吧。

//显示总页数的函数
function allNews()
{
    $coon = mysqli_connect("localhost", "root");
    mysqli_select_db($coon, "jereh");
    mysqli_set_charset($coon, "utf8");
    $rs = "select count(*) num from n_content"; //可以显示出总页数
    $r = mysqli_query($coon, $rs);
    $obj = mysqli_fetch_object($r);
    mysqli_close($coon,"jereh");
    return $obj->num;
}

3.呼叫這兩個函數,進行初步的處理。

我們想做下一頁,下一頁的結果,需要用到get方法在本頁面傳數據,那麼我們在刷新頁面的時候,肯定get是得不到數據的,所以需要用三目運算了,看程式碼了。

<?php
   @$allNum = allNews();
   @$pageSize = 3; //约定每页显示的信息条数
   @$pageNum = empty($_GET["pageNum"])?1:$_GET["pageNum"];
   @$endPage = ceil($allNum/$pageSize); //总页数
   @$array = news($pageNum,$pageSize);
   ?>

4.在頁面進行顯示。

在頁面顯示的話,需要用到了foreach循環了,程式碼簡單,看下面:

<table border="1" style="text-align: center" cellpadding="0">
    <tr>
        <td>编号</td>
        <td>新闻标题</td>
        <td>来源</td>
        <td>点击率</td>
        <td>发布日期</td>
    </tr>
    <?php
    foreach($array as $key=>$values){
        echo "<tr>";
        echo "<td>{$values->id}</td>";
        echo "<td>{$values->title}</td>";
        echo "<td>{$values->src}</td>";
        echo "<td>{$values->indexs}</td>";
        echo "<td>{$values->times}</td>";
        echo "</tr>";
    }
    ?>
</table>

5.實現上一頁,下一頁的效果。

要實現頁面跳躍的效果,我們需要用到了a標籤的href屬性,地址寫“?pageNum = ...”這個pageNum是我們自己定義的,由於是get來傳遞的,在上一步裡面我們已經用$_GET接受了參數,所以我們只需要進行get的參數傳遞就可以了;

#首頁:“pageNum=1”;

上一頁:" pageNum="

下一頁:"pageNum="

尾頁:"pageNum=」;

特別注意的是,」pageNum=”的時候後面千萬不要空格,程式碼如下:

<a href="?pageNum=1">首页</a>
   <a href="?pageNum=<?php echo $pageNum==1?1:($pageNum-1)?>">上一页</a>
   <a href="?pageNum=<?php echo $pageNum==$endPage?$endPage:($pageNum+1)?>">下一页</a>
   <a href="?pageNum=<?php echo $endPage?>">尾页</a>

總的程式碼如下:




    
    分页
   


<table border="1" style="text-align: center" cellpadding="0">
    <tr>
        <td>编号</td>
        <td>新闻标题</td>
        <td>来源</td>
        <td>点击率</td>
        <td>发布日期</td>
    </tr>
    <?php
    foreach($array as $key=>$values){
        echo "<tr>";
        echo "<td>{$values->id}</td>";
        echo "<td>{$values->title}</td>";
        echo "<td>{$values->src}</td>";
        echo "<td>{$values->indexs}</td>";
        echo "<td>{$values->times}</td>";
        echo "</tr>";
    }
    ?>
</table>
首页 上一页 下一页 尾页

效果如下:

php怎麼實現分頁效果##

以上是php怎麼實現分頁效果的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具