本文主要和大家分享php和Mysql實作資料分頁顯示實例,希望能幫助大家。
取得結果集中的記錄數可以在SELECT語句中使用COUNT()函數取得結果集中的記錄數量
設定每頁顯示記錄的數量假定使用變數$PageSize
來保存每頁顯示記錄的數量,它的值由使用者根據需要自行設置,可以直接透過賦值語句來實現。
取得總頁數可以透過$RecordCount
和$PageSize
兩個資料計算得到總頁數$PageCount
,
如何顯示第n 頁的記錄雖然使用PageSize屬性可以控制每頁顯示的記錄數,但是要顯示那些記錄呢?可以在SELECT陳述式中使用LIMIT子句指定查詢記錄的範圍, 其使用方法如下: SELECT * FROM 表名LIMIT起始位置, 顯示記錄數量例如,要取得第$Page
頁中的記錄,可以使用下面的語句:SELECT * FROM 表名LIMIT ($Page- 1) * $ PageSize, $ PageSize
如何通知腳本要顯示的頁碼可以透過傳遞參數的方式通知腳本程式顯示的頁碼。假定分頁顯示記錄的腳本為 viewPage. php,傳遞參數的連結如下:http:// localhost/ viewPage. php? page= 2
參數page用來指定目前的頁碼。在viewPage. php中,使用下面的語句讀取參數:
<!doctype html><html lang="en"><head> <meta charset="utf-8" /> <title>Document</title></head><body> <?php header("content-type:text/html;charset=utf-8"); //获取当前页码 $page=$_GET['page']; if($page==0){ $page=1; } //设置每页最大能显示的数量 $pagesize=3; //连接数据库 $conn=mysql_connect("localhost","root","root"); mysql_select_db("test"); mysql_query("set names utf-8"); if(!$conn){ die("mysql_connect_failed".mysql_connect_error()); } else echo("connected succeed"."<br />"); //获取结果集的记录数 $row=mysql_fetch_row(mysql_query("select count(1) from clerk")); $recordcount=$row[0]; //计算总页数 if($recordcount==0) $pagecount=0; else if($recordcount<$pagesize ||$recordcount==$pagesize){ $pagecount=1; //如果 记录 总数 量小 于 每页 显示 的 记录 数量, 则 只有 一页 } else if($recordcount%$pagesize==0){ $pagecount=$recordcount/$pagesize; //如果 没有 余数, 则 页数 等于 总 记录 数量 除以 每页 显示 记录 的 数量 } else $pagecount=(int)($recordcount/$pagesize)+1; //取 记录 总数 量 不能 整除 每页 显示 记录 的 数量, // 则 页数 等于 总 记录 数量 除以 每页 显示 记录 数量 的 结果 取整 再加 1 echo("当前页码:".$page."/".$pagecount."<br />"); ?> <table width="449" border="1"> <tr> <td>员工姓名</td> <td>职务</td> <td>薪水</td> </tr> <?php //循环显示当前页面的记录 header("content-type:text/html;charset=utf-8"); echo $page; //$sql="select * from clerk limit" .($page-1)*$pagesize.",".$pagesize; //$page为当前页码 $sql=($page-1)*$pagesize; $result=mysql_query("select * from clerk limit {$sql},{$pagesize}"); while($row=mysql_fetch_row($result)) { echo("<tr />"); echo("<td>$row[0]</td>"); echo("<td>$row[2]</td>"); echo("<td>$row[3]</td>"); echo("<tr />"); } mysql_close($conn); //显示分页链接 if($page==1){ echo("第一页"); } else echo("<a href=viewpage.php?page=1>第一页</a>"); //设置上一页连接 if($page==1){ echo("上一页"); } else echo("<a href=viewpage.php?page=".($page-1).">上一页</a>"); //设置下一页链接 if($page==$pagecount){ echo("下一页"); } else echo("<a href=viewpage.php?page=".($page+1).">下一页</a>"); //设置最后一页 if($page==$pagecount){ echo("最后一页"); } else echo("<a href=viewpage.php?page=".$pagecount.">最后一页</a>"); ?> </table></body></html>
$PageSize 來保存每頁顯示記錄的數量,它的值由使用者根據需要自行設置,可以直接透過賦值語句來實現。
$RecordCount和
$PageSize兩個資料計算得到總頁數
$PageCount,
$Page 頁中的記錄,可以使用下面的語句:
SELECT * FROM 表名LIMIT ($Page- 1) * $ PageSize, $ PageSize
http:// localhost/ viewPage. php? page= 2 參數page用來指定目前的頁碼。在viewPage. php中,使用下面的語句讀取參數:
<!doctype html><html lang="en"><head> <meta charset="utf-8" /> <title>Document</title></head><body> <?php header("content-type:text/html;charset=utf-8"); //获取当前页码 $page=$_GET['page']; if($page==0){ $page=1; } //设置每页最大能显示的数量 $pagesize=3; //连接数据库 $conn=mysql_connect("localhost","root","root"); mysql_select_db("test"); mysql_query("set names utf-8"); if(!$conn){ die("mysql_connect_failed".mysql_connect_error()); } else echo("connected succeed"."<br />"); //获取结果集的记录数 $row=mysql_fetch_row(mysql_query("select count(1) from clerk")); $recordcount=$row[0]; //计算总页数 if($recordcount==0) $pagecount=0; else if($recordcount<$pagesize ||$recordcount==$pagesize){ $pagecount=1; //如果 记录 总数 量小 于 每页 显示 的 记录 数量, 则 只有 一页 } else if($recordcount%$pagesize==0){ $pagecount=$recordcount/$pagesize; //如果 没有 余数, 则 页数 等于 总 记录 数量 除以 每页 显示 记录 的 数量 } else $pagecount=(int)($recordcount/$pagesize)+1; //取 记录 总数 量 不能 整除 每页 显示 记录 的 数量, // 则 页数 等于 总 记录 数量 除以 每页 显示 记录 数量 的 结果 取整 再加 1 echo("当前页码:".$page."/".$pagecount."<br />"); ?> <table width="449" border="1"> <tr> <td>员工姓名</td> <td>职务</td> <td>薪水</td> </tr> <?php //循环显示当前页面的记录 header("content-type:text/html;charset=utf-8"); echo $page; //$sql="select * from clerk limit" .($page-1)*$pagesize.",".$pagesize; //$page为当前页码 $sql=($page-1)*$pagesize; $result=mysql_query("select * from clerk limit {$sql},{$pagesize}"); while($row=mysql_fetch_row($result)) { echo("<tr />"); echo("<td>$row[0]</td>"); echo("<td>$row[2]</td>"); echo("<td>$row[3]</td>"); echo("<tr />"); } mysql_close($conn); //显示分页链接 if($page==1){ echo("第一页"); } else echo("<a href=viewpage.php?page=1>第一页</a>"); //设置上一页连接 if($page==1){ echo("上一页"); } else echo("<a href=viewpage.php?page=".($page-1).">上一页</a>"); //设置下一页链接 if($page==$pagecount){ echo("下一页"); } else echo("<a href=viewpage.php?page=".($page+1).">下一页</a>"); //设置最后一页 if($page==$pagecount){ echo("最后一页"); } else echo("<a href=viewpage.php?page=".$pagecount.">最后一页</a>"); ?> </table></body></html>
以上是php和Mysql實作資料分頁顯示實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!