php+mysql分页类

本文介绍了一种使用PHP实现的分页方法,通过自定义函数page进行分页逻辑处理,并展示了如何在具体页面(member.php)中调用此函数来实现分页效果。该方法通过计算总页数、当前页数及显示的页码范围等参数,生成相应的分页链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

分页方法文件名 pagestyle.php

<?php

function page($page,$total,$phpfile,$pagesize=3,$pagelen=3){
$pagecode = "";
$page = intval($page);
$total = intval($total);
if(!$total) return array();
$pages = ceil($total/$pagesize);

if($page<1) $page = 1;
if($page>$pages) $page = $pages;

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

$init = 1;
$max = $pages;
$pagelen = ($pagelen%2)?$pagelen:$pagelen+1;
$pageoffset = ($pagelen-1)/2;


if($page!=1){
$pagecode.=" <a href=\"{$phpfile}&page=1\"><IMG align=absMiddle src='/kor/img/btn_prev2.gif' width=11 height=11></a> ";
$pagecode.=" <a href=\"{$phpfile}&page=".($page-1)."\"><IMG align=absMiddle src='/kor/img/btn_prev.gif' width=11 height=11></a> ";
}

if($pages>$pagelen){

if($page<=$pageoffset){
$init=1;
$max = $pagelen;
}else{

if($page+$pageoffset>=$pages+1){
$init = $pages-$pagelen+1;
}else{

$init = $page-$pageoffset;
$max = $page+$pageoffset;
}
}
}

for($i=$init;$i<=$max;$i++){
if($i==$page){
$pagecode.='<STRONG>'.$i.'</STRONG>';
} else {
$pagecode.=" <a href=\"{$phpfile}&page={$i}\">[$i]</a> ";
}
}
if($page!=$pages){
$pagecode.=" <a href=\"{$phpfile}&page=".($page+1)."\"><IMG align=absMiddle src='/kor/img/btn_next2.gif' width=11 height=11></a> ";
$pagecode.=" <a href=\"{$phpfile}&page={$pages}\"><IMG align=absMiddle src='/kor/img/btn_next.gif' width=11 height=11></a> ";
}
$pagecode.='</div>';
return array('pagecode'=>$pagecode,'sqllimit'=>' limit '.$offset.','.$pagesize);
}
/**********
$page = $_GET['page'];
$total = 101;
$phpfile = "1.php";
$pagesize = 10;

$code = page($page,$total,$phpfile,$pagesize,$pagelen=6);

echo $code['pagecode'];
**************/
?>

 

 调用页面代码member.php

<?php
  $sql = "SELECT SQL_CALC_FOUND_ROWS * FROM member WHERE 1";
  $sql = $sql." ORDER BY `mb_no` DESC";
  if (!$page) {
    $page = 1;
  }
  $page_row = ($page-1)*10;
  $sql = $sql." LIMIT ".$page_row." , 10";
  $query=mysql_query($sql);
  $sql2 = "select found_rows() as no";//获得查询出来的记录总数
  $query2=mysql_query($sql2);
  $row2=mysql_fetch_array($query2);
  while($row=mysql_fetch_array($query)){
    echo "……";
    ……
    ……
    等等输出代码,在这里就不做演示了
  }

  $page = $_GET['page'];//获得当前页数
  $total = $row2['no'];//记录总条数
  $phpfile = "member.php";//链接的文件名
  $pagesize = 10;//每页记录数
  $pagelen = 7;//显示7个页数
  
  $code = page($page,$total,$phpfile,$pagesize,$pagelen);
  echo $code['pagecode'];
?>

 

转载于:https://www.cnblogs.com/xcxc/archive/2013/06/11/3131860.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值