我們都知道php分頁的實現,都需要配合資料庫裡面的數據, 才能夠實現效果,在前面的文章中我們也給大家簡單的說了一下,那麼php+mysql到底是如何實現分頁效果的呢,今天就帶大家一起了解下!
mysql裡將資料分頁顯示的語句是:limit 5,1。5表示檢索開始位置,1表示顯示1頁
所以在php中要實作上一頁,下一頁就要傳一個資料page給limit,就可以分頁。
可以理解為三個步驟:
1) 連接資料庫,將資料顯示在前端 ;
2)從前端傳page(頁碼值)給php,這裡也要判斷符合範圍內的頁碼:就是不小於1,不大於總頁數;
3)php取得頁碼,做出判斷,進行對應-+操作,改變limit值。
ps:資料都是已經在資料庫中建置好的,這裡php只負責連線。
首先要知道如何在前端顯示資料庫中的資訊:
php檔案:
//连接数据库: $link = mysqli_connect("localhost","root","123456","test") or die ("错误:连接数据库失败"); //一次为:服务器,用户名,密码,库名 mysqli_query($link,"set names 'utf8'"); //输出的编码方式,这句一定要有。 //连接表: $sql = "SELECT * FROM wordspace WHERE sa_id IS NOT NULL"; //mysql查询语句 $sqlcount = mysqli_query($link,$sql) or die ("查询失败"); //将其输出. $info = mysqli_fetch_ array($sqlcount); while($info){ $result[ ] = $info; //传值给一个数组 } mysqli_free_result($info); //查询完后要释放该表 mysqli_close($link); //关闭数据库
將剛才取得資料庫的陣列顯示在前端。
<table border="1"> <tr> <td>id</td> <td>Price</td> <td>customer</td> </tr> <!---用php将数据显示--> <?php foreach($result as $val) {?> <tr> <td><?php echo $val['id'];?></td> <td><?php echo $val[Price'];?></td> <td><?php echo $val['customer'];?></td> </tr> <?php } ?> </table>
將表格的資料顯示出來以後,在此基礎上實現分頁。
新增上一頁,下一頁連接,在此要做一個判斷,使得傳過去的值符合要求:
<!--显示首页和上一页的条件--> <?php if($page > 1) {?> <a href="?page=1">首页</a> <a href="?page=<?php echo $prevpage;">上一页</a> <?php } ?> <!--显示下一页和尾页的条件--> <?php if($page < $ numpages) {?> <a href="?page=<?php echo $nextpage;?">下一页</a> <a href="?page=<?php echo $numpages;?>尾页 <?php } ?>
php中連接資料庫的語言要改動下:
//获取总记录数: $sqls = "SELECT COUNT(*) as totalFROM wordspace where sa_id IS NOT NULL"; $sqlcount = mysqli_query($link,$sqls) od die("查询失败"); $pagecount = mysqli_fetch_array($sqlcount); $pagecount = $pagecount['total']; mysqli_free_result($sqlcount); //查询完记得释放空间 //获取页数,判断是否符合要求 $page = intval($_GET['page']); if($page <=0) {$page= 1;} elseif($page > $pagecount){ $page = $pagecount; } //定义每页显示的页数: $pageshow = 5; $pagesize = ($page-1) * $pageshow; //计算总页数: $numpages = ceil($pagecount/$pageshow); //向上取整; //连接要显示的数据库 $sql = "SELECT * FROM wordcpace where IS NOT NULL limit $pagesize,$pageshow"; $sqlinfo = mysqli_query($sql); $pide = mysqli_fetch_array($sqlinfo)or die("分页查询失败"); while($pide){ $result[ ] = $pide; }
$prevpage = $page - 1;
$nextpage = $page + 1;
mysqli_free_result($sqlinfo); musqli_close($link); //最后要关闭数据库
總結:
#看完是不是覺得php分頁很簡單呢,就是先把資料從資料庫擷取出來展示,然後在進行傳值,判斷的一系列操作,當你掌握了要領,一切都不是難題,希望對你有幫助!
相關推薦:
以上是php與mysql實作分頁的範例的詳細內容。更多資訊請關注PHP中文網其他相關文章!