本文章总结了目前常用的几种分页代码,比如说上一页,下一页之类的,还有一种数字分页,像1,2,3...之类的等

分页代码
代码如下 |
复制代码 |
<?php //page当前页,num每页的页数 $page=isset($_GET['page'])?intval($_GET['page']):1; $num=5; $conn = mysql_connect('127.0.0.1','root',''); if (!$conn) { die('Could not connect:'.mysql_error()); } mysql_select_db('shop'); //获取记录总数 $total=mysql_num_rows(mysql_query("select * from user")); //计算页数 $pagenum=ceil($total/$num); //限制页数不能超出范围 If($page>$pagenum || $page == 0){ Echo 'Error : Can Not Found The page.'; Exit; } //语句“Select * from table limit 0,10”从table表提取十条信息,0为起点,10为提取的数目 //$offset为起点值,如当前页为第一页,每页5条,起点即为0,同理当前为第二页,起点将为5 $offset=($page-1)*$num; $result=mysql_query("select * from user limit $offset,$num"); while($it=mysql_fetch_array($result)){ echo 'id:'.$it['id'].' name:'.$it['name'].'<br />'; } //显示链接页面切换链接,当前页无链接 for($i=1;$i<=$pagenum;$i++){ $show=($i!=$page)?"<a href='index.php?page=".$i."'>$i</a>":"<b>$i</b>"; echo $show." "; } echo $total.'条记录,每页5条,共'.$pagenum.'页'; mysql_free_result($result); mysql_close($conn); ?> |
实例2
代码如下 |
复制代码 |
<? //function.php 这里是主函数 function php_page($page_dbname,$page_size,$page) { if ($page=="") {$page=1;}; if ($ljjl=="") {$ljjl=0;}; if($page) { //$page_dbname="tb_insert"; //$page_size=4; //每页显示4条记录 $query="select count(*) as total from ".$page_dbname; //从数据库中读取数据 $result=mysql_query($query); $message_count=mysql_result($result,0,"total"); //获取总的记录数 $page_count=ceil($message_count/$page_size); //获取总的页数 $offset=($page-1)*$page_size; $query="select * from ".$page_dbname." order by id desc limit $offset, $page_size"; $result=mysql_query($query); //内容显示 这里只是简单的作个示范,可以按你的要求随便改动。 while ($myrow=@mysql_fetch_array($result)) { echo $myrow[name]." | ".$myrow[number]." | ".$myrow[tel]." | ".$myrow[address]."<br><br>"; } } echo "页次:".$page."/"; echo $page_count."页 记录:"; echo $message_count."条"."<br>"; if($page!=1) { echo "<a href=index.php?page=1>首页</a> "; echo "<a href=index.php?page=".($page-1).">上一页</a> "; } else { echo "首页 "; echo "上一页 "; } for($i=1; $i<=$page_count; $i++) { if ($page==$i) {echo $i." ";} else {echo "<a href=index.php?page=$i>$i</a> ";} } if($page<$page_count) { echo "<a href=index.php?page=".($page+1).">下一页</a> "; echo "<a href=index.php?page=".$page_count.">尾页</a>"; } else { echo "下一页 "; echo "尾页"; } } ?> |
//conn.php 连接数据库
代码如下 |
复制代码 |
<?php $id=mysql_connect("localhost","root","root")or dir('连接失败:' . mysql_error()); //mysql_connect("IP","用户名","密码") if(mysql_select_db("db_database06",$id)) echo ""; else echo ('连接失败:' . mysql_error()); mysql_query("set names gb2312"); ?> |
//主程序,将上面俩个文件包含进来,再调用一个php_page()就可完成分页。:)
代码如下 |
复制代码 |
<?php require_once("conn.php"); require_once("function.php"); php_page("tb_insert",3,$_GET[page]); // "tb_insert"是表名,3是在每页要显示的记录数,$_GET[page]是page的id,直接用就可以了。 ?> |
上在的一种是文字分页,比如说上一页,下一页之类的,还有一种数字分页,像1,2,3...之类的,这个比较简单,前者稍微复杂些.最后一种是他们2者结合
代码如下 |
复制代码 |
--> 1 //获取当前页数 if(isset($_GET['page'])){ $page = intval($_GET['page']); } else { $page=1; } $PageSize = 1; //每页的记录数量 // 获取总数量 $sql = "select count(*) from blog"; $result = mysql_query($sql); $row = mysql_fetch_row($result); $amount = $row[0]; /*计算总页数 if($amount){ if($amount<$PageSize) { //如果总数量小于每页的记录数量$PageSize,那么只有一页. $PageCount = 1; } if($amount%$PageSize) { //总数量除以每页的记录数量取于 $PageCount =& amp;nbsp;(int)($amount/$PageSize)+1;//如果有于,则页数等于总数量除每页的记录数加1 } else{ $PageCount =& amp;nbsp;$amount/$PageSize;//没有,则结果是页数 } } else{ $PageCount = 0; }*/ $PageCount = ceil($amount/$PageSize);//总页数=总数量除以每页数量 如果有小树,则进位< span style="color: #008000;"> if($Page>$PageCount|$page==0){// 如果当前页数大于总页数 echo "不能发现此页!"; exit(); } //翻页链接 $PageOut = ''; if($page==1){//如果页数只有一页 $PageOut .= '第一页|上一页'; } else{ $PageOut .= '<a href="index.php?page=1">第一页& lt;/a>|<a href="index.php?page='.($page-1).'">上一页</a>|'; } if($page==$PageCount||$PageCount==0){//如果当前页等于总也数 $PageOut .= '下一页|尾页'; } else{ $PageOut .= '<a href="index.php?page='.($page+1).'">下一页</a>|<a href="index.php?page='.$PageCount.'">尾页</a>'; } //获取数据 if($amount){ $sql="select * from blog limit ".($page-1)*($PageSize).",$PageSize"; $result=mysql_query($sql); while($row=mysql_fetch_array($result)){//此段代码只是示例 $blogs[] = array('bid'=>$row['bid'],'title'=>$row['title']); foreach ($blogs as $blog){ $title=$blog['title']; } $output = "<a href=index.php?action=blog_del&bid=$blog[bid]>删除</a>". "<a href=index.php?action=blog_edit&bid=$blog[bid]>编辑</a>". "<a href=index.php?action=blog_view&bid=$blog[bid]>查看</a>"; include("template/default/blog.tpl.php"); echo $PageOut; } for($i=1;$i<=$PageCount;$i++){//数字分页 $Pageshow = ($i!=$page)?"<a href='index.php?page=".$i."'>$i</a>":"<b>$i</b>"; echo $PageShow; } echo $amount.'条记录,每页'.$PageSize.'条,共'.$PageCount.'页'; } |
教程链接:http://www.phprm.com/code/43835.html
随意转载~但请保留教程地址★