當前位置:編程學習大全網 - 源碼下載 - php分頁代碼 怎麽寫

php分頁代碼 怎麽寫

 Web開發是今後分布式程式開發的主流,通常的web開發都要涉及到與數據庫打交道,客戶端從服務器端讀取通常都是以分頁的形式來顯示,壹頁壹頁的閱讀起來既方便又美觀。所以說寫分頁程序是web開發的壹個重要組成部分,在這裏,我們***同來研究分頁程序的編寫。

壹、分頁程序的原理

分頁程序有兩個非常重要的參數:每頁顯示幾條記錄($pagesize)和當前是第幾頁($page)。有了這兩個參數就可以很方便的寫出分頁程序,我們以MySql數據庫作為數據源,在mysql裏如果要想取出表內某段特定內容可以使用的 T-SQL語句:select * from table limit offset,rows來實現。這裏的offset是記錄偏移量,它的計算方法是offset=$pagesize*($page-1),rows是要顯示的記錄條數,這裏就是$page。也就是說select * from table limit 10,10這條語句的意思是取出表裏從第11條記錄開始的20條記錄。

二、主要代碼解析

$pagesize=10; //設置每壹頁顯示的記錄數

$conn=mysql_connect("localhost","root",""); //連接數據庫

$rs=mysql_query("select count(*) from tb_product",$conn); //取得記錄總數$rs

$myrow = mysql_fetch_array($rs);

$numrows=$myrow[0];

//計算總頁數

$pages=intval($numrows/$pagesize);

//判斷頁數設置

if (isset($_GET['page'])){

 $page=intval($_GET['page']);

}

else{

 $page=1; //否則,設置為第壹頁

}

三、創建用例用表myTable

create table myTable(id int NOT NULL auto_increment,news_title varchar(50),news_cont text,add_time datetime,PRIMARY KEY(id))

四、完整代碼

<html>

<head>

<title>php分頁示例</title>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

</head>

<body>

<?php

 $conn=mysql_connect("localhost","root","");

 //設定每壹頁顯示的記錄數

 $pagesize=1;

 mysql_select_db("mydata",$conn);

 //取得記錄總數$rs,計算總頁數用

 $rs=mysql_query("select count(*) from tb_product",$conn);

 $myrow = mysql_fetch_array($rs);

 $numrows=$myrow[0];

 //計算總頁數

 $pages=intval($numrows/$pagesize);

 if ($numrows%$pagesize)

$pages++;

 //設置頁數

 if (isset($_GET['page'])){

$page=intval($_GET['page']);

 }

 else{

//設置為第壹頁

$page=1;

 }

 //計算記錄偏移量

 $offset=$pagesize*($page - 1);

 //讀取指定記錄數

 $rs=mysql_query("select * from myTable order by id desc limit $offset,$pagesize",$conn);

 if ($myrow = mysql_fetch_array($rs))

 {

$i=0;

<table border="0" width="80%">

<tr>

 <td width="50%" bgcolor="#E0E0E0">

<p align="center">標題</td>

<td width="50%" bgcolor="#E0E0E0">

<p align="center">發布時間</td>

</tr>

<?php

 do {

$i++;

<tr>

 <td width="50%"><?=$myrow["news_title"]?></td>

 <td width="50%"><?=$myrow["news_cont"]?></td>

</tr>

 <?php

 }

 while ($myrow = mysql_fetch_array($rs));

echo "</table>";

}

echo "<div align='center'>***有".$pages."頁(".$page."/".$pages.")";

for ($i=1;$i< $page;$i++)

 echo "<a href='fenye.php?page=".$i."'>[".$i ."]</a> ";

 echo "[".$page."]";

 for ($i=$page+1;$i<=$pages;$i++)

echo "<a href='fenye.php?page=".$i."'>[".$i ."]</a> ";

echo "</div>";

 ?>

</body>

</html>

五、總結

本例代碼在windows2000 server+php4.4.0+mysql5.0.16上運行正常。該示例顯示的分頁格式是[1][2][3]…這樣形式。假如想顯示成“首頁 上壹頁 下壹頁 尾頁”這樣形式,請加入以下代碼:

$first=1;

$prev=$page-1;

$next=$page+1;

$last=$pages;

if ($page > 1)

{

 echo "<a href='fenye.php?page=".$first."'>首頁</a> ";

 echo "<a href='fenye.php?page=".$prev."'>上壹頁</a> ";

}

if ($page < $pages)

{

 echo "<a href='fenye.php?page=".$next."'>下壹頁</a>

 echo "<a href='fenye.php?page=".$last."'>尾頁</a> ";

}

其實,寫分頁顯示代碼是很簡單的,只要掌握了它的工作原理。希望這篇文章能夠帶給那些需要這方面程序web程序員的幫助。

  • 上一篇:去水印源碼php
  • 下一篇:挑選白馬股的指標有哪些
  • copyright 2024編程學習大全網