[php]实现像GOOGLE一样分页效果的代码
更新时间:2007年05月20日 00:00:00 作者:
用到的函数:PAGE();
function page ($totalPage , $currentPage,$url ,$halfPer,$imagePath)
{
$total=$totalPage;
$currentPage=($currentPage<1)?1:$currentPage;
$currentPage=($currentPage>$totalPage)?$totalPage:$currentPage;
//echo $currentPage;
$re="";
$re .= ( $currentPage > 1 )
? "<td><a href=\"$url=1\">首页</a></td>\n<td><a href=\"$url=".($currentPage-1)."\">上一页</a></td>\n"
: "<td>首页</td>\n";
for ( $i = $currentPage - $halfPer,$i >= 1 || $i = 1 ,$j = $currentPage + $halfPer, $j < $totalPage || $j = $totalPage;$i <= $j ;$i++ )
{//核心算法!
$re .= ($i == $currentPage)
? "<td><b class=currentPage> [$i] </b></td>\n"
: "<td><a href=\"$url=$i\"> [$i] </a></td>\n";
}
$re .= ( $currentPage < $total )
? "<td><a href=\"$url=" . ( $currentPage + 1 ) . "\">下一页</a></td>\n<td><a href=\"$url=" . ( $total )."\">尾页</a>\n</td>"
: "<td>尾页</td>\n";
$re="<table style=text-align:center><tr>$re</tr></table>";
return $re;
}
使用很简单
先包括上面的函数
先检索出总的记录条数。
自己定义一下每页显示多少条:
然后总的页数
$total_row=...;//此为您检索出来的总的记录数
$pagesize=10;
//=======================
//补充如果是整数的话。可以再判断一下如果余数为0就不加1啊。
$totalPage =($total_row%$pagesize==0) ?intval($total_row/$pagesize): intval($total_row/$pagesize)+1;
//=======================
//$totalPage = intval($total_row/$pagesize)+1 ; //总页数 ,为什么要加1呢。呵呵。自己去想想:)
$currentPage = intval($_GET['page']);
$url = "?page";
$halfPer = 5;
$imagePath ="images";
$pageHtml = page ( $totalPage , $currentPage,$url ,$halfPer,$imagePath);
//echo $pageHtml ;
$currentPage=($currentPage<1)?1:$currentPage;
$currentPage=($currentPage>$totalPage)?$totalPage:$currentPage;
//上面这两句大家能明白意思不,不要被那个?:吓到,其实就等到if...else.....呵呵
下面为怎样检索MYSQL
我只写也关键的那条语句就行了。呵呵。不要骂我懒啊。
首先让我来带大家了解一下LIMIT
LIMIT如果后面只有一个数字,则为检录前多少条。比如LIMIT 20 只为取前20条做为检索的结果。
如果后面有两具数字。则为从多少条起检索多少条,比如 LIMIT 20,10 为从第20条起取10条,那么结果组为21-30条。
好,下面我们就用这个属性来分页:
(天好冷啊,厦门竟然还会这么手冷,晕死,回家过年得了。呵呵。好肺话啊。表打我哦 各位看官,先发表一下,等下再来编辑,不要不小心关年掉了,那不哭死我啊。小便一下先)
(回来了。呵呵)
我们继续上面的讲
我们用一条mysql语句来说明:
$strQuery="select * from myTable limit $offset,$pagesize";
大家看到没有,上面出现了两个变量,一个为$offset,一个为$pagesize。
$pagesize大家都知道是什么了是吧。什么?不知道,自己看上面去。
这个$offset即为起始变量,还刻我们刚才提到的LIMIT 20,10吗。
好了,那么我们现在就来敲定这个$offset
其实 $offset = $pagesize*($currentPage-1);
function page ($totalPage , $currentPage,$url ,$halfPer,$imagePath)
{
$total=$totalPage;
$currentPage=($currentPage<1)?1:$currentPage;
$currentPage=($currentPage>$totalPage)?$totalPage:$currentPage;
//echo $currentPage;
$re="";
$re .= ( $currentPage > 1 )
? "<td><a href=\"$url=1\">首页</a></td>\n<td><a href=\"$url=".($currentPage-1)."\">上一页</a></td>\n"
: "<td>首页</td>\n";
for ( $i = $currentPage - $halfPer,$i >= 1 || $i = 1 ,$j = $currentPage + $halfPer, $j < $totalPage || $j = $totalPage;$i <= $j ;$i++ )
{//核心算法!
$re .= ($i == $currentPage)
? "<td><b class=currentPage> [$i] </b></td>\n"
: "<td><a href=\"$url=$i\"> [$i] </a></td>\n";
}
$re .= ( $currentPage < $total )
? "<td><a href=\"$url=" . ( $currentPage + 1 ) . "\">下一页</a></td>\n<td><a href=\"$url=" . ( $total )."\">尾页</a>\n</td>"
: "<td>尾页</td>\n";
$re="<table style=text-align:center><tr>$re</tr></table>";
return $re;
}
使用很简单
先包括上面的函数
先检索出总的记录条数。
自己定义一下每页显示多少条:
然后总的页数
$total_row=...;//此为您检索出来的总的记录数
$pagesize=10;
//=======================
//补充如果是整数的话。可以再判断一下如果余数为0就不加1啊。
$totalPage =($total_row%$pagesize==0) ?intval($total_row/$pagesize): intval($total_row/$pagesize)+1;
//=======================
//$totalPage = intval($total_row/$pagesize)+1 ; //总页数 ,为什么要加1呢。呵呵。自己去想想:)
$currentPage = intval($_GET['page']);
$url = "?page";
$halfPer = 5;
$imagePath ="images";
$pageHtml = page ( $totalPage , $currentPage,$url ,$halfPer,$imagePath);
//echo $pageHtml ;
$currentPage=($currentPage<1)?1:$currentPage;
$currentPage=($currentPage>$totalPage)?$totalPage:$currentPage;
//上面这两句大家能明白意思不,不要被那个?:吓到,其实就等到if...else.....呵呵
下面为怎样检索MYSQL
我只写也关键的那条语句就行了。呵呵。不要骂我懒啊。
首先让我来带大家了解一下LIMIT
LIMIT如果后面只有一个数字,则为检录前多少条。比如LIMIT 20 只为取前20条做为检索的结果。
如果后面有两具数字。则为从多少条起检索多少条,比如 LIMIT 20,10 为从第20条起取10条,那么结果组为21-30条。
好,下面我们就用这个属性来分页:
(天好冷啊,厦门竟然还会这么手冷,晕死,回家过年得了。呵呵。好肺话啊。表打我哦 各位看官,先发表一下,等下再来编辑,不要不小心关年掉了,那不哭死我啊。小便一下先)
(回来了。呵呵)
我们继续上面的讲
我们用一条mysql语句来说明:
$strQuery="select * from myTable limit $offset,$pagesize";
大家看到没有,上面出现了两个变量,一个为$offset,一个为$pagesize。
$pagesize大家都知道是什么了是吧。什么?不知道,自己看上面去。
这个$offset即为起始变量,还刻我们刚才提到的LIMIT 20,10吗。
好了,那么我们现在就来敲定这个$offset
其实 $offset = $pagesize*($currentPage-1);
相关文章
RM格式压缩电影软件 Easy RealMedia Producer Full V1.94 下载
RM格式压缩电影软件 Easy RealMedia Producer Full V1.94 下载...2007-02-02中国人原创最安全的Vista激活程序 - Vista Loader v2.1.2 下载
中国人原创最安全的Vista激活程序 - Vista Loader v2.1.2 下载...2007-03-03DirectX 10 for Windows XP 修改版 下载
DirectX 10 for Windows XP 修改版 下载...2007-05-05科汛KesionCMS内容管理系统 商业基础版 V3.0 Sp1 下载
科汛KesionCMS内容管理系统 商业基础版 V3.0 Sp1 下载...2007-05-05GX::Transcoder v3.20.51.3687 - 音频视频文件转换全能王 下载
GX::Transcoder v3.20.51.3687 - 音频视频文件转换全能王 下载...2007-05-05红帽发布 Red Hat Enterprise Linux 5 下载
红帽发布 Red Hat Enterprise Linux 5 下载...2007-03-03加密与解密迅雷网址软件 ThunderCode 1.20/1.4 下载
加密与解密迅雷网址软件 ThunderCode 1.20/1.4 下载...2007-04-04深度 Ghost XP 八分钟快速装机版 V5.0 下载地址
深度 Ghost XP 八分钟快速装机版 V5.0 下载地址...2007-10-10
最新评论