壹次网首页 | 工具源码首页 | 技术文章首页 | 文章分类 | | |

文章搜索: 分类 关键字
您的位置:首页网络编程PHP专区 → 像GOOGLE一样分页,减轻数据库检索负担
像GOOGLE一样分页,减轻数据库检索负担
添加日期:2007-1-31 8:53:53     [ ]

用到的函数: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;
$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);

 

出处:论坛转载 作者:佚名 点击:
 相关文章
·Flash & Ajax 操作 XML 实例:无刷新分页
 热点文章
·photoshop制作香烟、烟头、烟雾
·photoshop图片卷角、翻页效果的制作
·用U盘或移动硬盘装《深山红叶袖珍系统Win PE启动..
·photoshop经典恐怖片海报效果教程
·ghost.pif最新变种手动查杀,ARP欺骗挂马+KAV让..
·photoshop制作3D立体小人和字体
·photoshop水晶球质感表现 - 关于光影的细节
·关于zend解密的程序
·王晨昀:谁来拯救中小网站?
·photoshop泛黄、陈旧纸张效果的制作
 推荐文章
·如何彻底删除一个不需要的系统服务
·模仿QQ和MSN消息提示的效果
·CC攻击的思路及防范方法
·广告联盟的一些评价
Powered by yici.net
CopyRight (C) 2006-2012 版权所有   [ 依次网 ];未经授权,任何人不得抄袭、仿冒本站
ICP备案:苏ICP备05011771号 证书下载 ICP证号:苏ICP证040301
仪征广目网络信息服务有限公司 版权所有