首頁  >  文章  >  後端開發  >  php與mysql實作分頁的範例

php與mysql實作分頁的範例

黄舟
黄舟原創
2017-11-11 10:15:251280瀏覽

我們都知道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[&#39;id&#39;];?></td>
		<td><?php echo $val[Price&#39;];?></td>
		<td><?php echo $val[&#39;customer&#39;];?></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[&#39;total&#39;];
mysqli_free_result($sqlcount);   //查询完记得释放空间
//获取页数,判断是否符合要求
$page = intval($_GET[&#39;page&#39;]);
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分頁類別的實作


#php分頁的實作原則


php實作分頁效果的範例


#怎麼寫PHP分頁程式碼

#

以上是php與mysql實作分頁的範例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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