[php]实现像GOOGLE一样分页效果的代码_常用工具

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

时间: 2024-10-01 14:34:42

[php]实现像GOOGLE一样分页效果的代码_常用工具的相关文章

日历调用代码(多种效果)flash版_常用工具

选择样式一:frame调用代码:<iframe src="http://www.5blogs.com/rss/caltt.asp?id=3" scrolling="no" width="183px" height="202px" frameborder="0"></iframe>script调用代码:<script src="http://www.5blogs.com

Zend Framework框架实现类似Google搜索分页效果_php实例

本文实例讲述了Zend Framework框架实现类似Google搜索分页效果.分享给大家供大家参考,具体如下: /** * * @param unknown_type $model 表类型 * @param unknown_type $ncontroller 那个控制器提交的controller * @param unknown_type $naction 那个action提交的action */ public function fenyepage2($model,$ncontroller,$

其实jquery仿分页效果实现代码

 代码如下 复制代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv=&qu

ASP.NET存储过程实现分页效果(三层架构)_实用技巧

本文实例为大家分享了ASP.NET存储过程实现分页的具体代码,供大家参考,具体内容如下 实现效果: 文本框内输入跳转的页数,点击GO会跳转到该页 首先在项目下加入BLL,DAL,DataAccess,MODEL类库1.前台界面 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="原始刷新分页.aspx.cs" Inherits="分页.原始刷新分页" %&g

动态生成table并实现分页效果心得分享_实用技巧

前台代码: 复制代码 代码如下: <table style="width: 100%;"> <tr> <td> 搜索字: <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:Button ID="Button1" runat="server" Text="搜索&

js下通过getList函数实现分页效果的代码_javascript技巧

用js实现页面的分页: 复制代码 代码如下: <table border="0" cellpadding="0" cellspacing="0" width="100%" style="background-color:#D2EBF3;" height="32"> <tr><td align="right" bgColor="#

javascript select 之间传值效果的代码_表单特效

二个框内值传递.不错的效果 复制代码 代码如下: <script type="text/javascript" defer="defer">  function $(value)  {   return document.getElementById(value);  }  function ch(s){   var p = new Array(0,1,2);   p[0] = '大学';   p[1] = '高中';   p[2] = '初中';   

ASP通用分页样式函数代码_应用技巧

<% '****************************** '函数:MultiPage(Numbers,Perpage,Curpage,Url_Add) '参数:Numbers,总记录数:Perpage,每页记录数:Curpage,当前页:Url_Add,当前页其它参数如?action=list& '作者:阿里西西 '日期:2007/7/15 '描述:ASP通用分页样式函数 '示例:MultiPage(100,10,2,"?action=list&")

js最简单的拖拽效果实现代码_布局与层

其实对于弹出层而言,拖拽最初的目的很单纯,就是为了通过拉开层,使被弹出层挡住的内容可见,(当然,后来关于拖拽的功能不断被优化,使得拖拽的应用有了别的意义,最典型的如igoogle的自定义首页,通过拖放的形式满足用户自定义想要的内容模块顺序和位置). 本文讨论的重点不是iGoogle的拖放效果,那属于进阶篇,本文是拖拽的"第一阶",如题,实现最简单的拖拽. 这里的"最简单"即不考虑多个拖拽层的堆叠顺序,不考虑拖拽范围限制,不考虑类似iGoogle的"drag