$objConnect = MysqL_connect("localhost","root","") or die(MysqL_error());
$objDB = MysqL_select_db("Test");

$strsql = "SELECT * FROM UserAddedRecord WHERE (Name LIKE '%".$getname."%' and State LIKE '%".$getstate."%' and Cell LIKE '%".$getcell."%' and Custgroup LIKE '%".$getgroup."%') AND user_id=$id";

$objQuery = MysqL_query($strsql) or die ("Error Query [".$strsql."]");
$Num_Rows = MysqL_num_rows($objQuery);

$Per_Page = 5;   

if (!isset($_GET['Page'])) {
    $Page = 1;
} else {
    $Page = $_GET['Page'];
}

$Prev_Page = $Page - 1;
$Next_Page = $Page + 1;

$Page_Start = (($Per_Page * $Page) - $Per_Page);
if ($Num_Rows <= $Per_Page) {
    $Num_Pages = 1;
} elseif (($Num_Rows % $Per_Page) == 0) {
    $Num_Pages = ($Num_Rows / $Per_Page) ;
} else {
    $Num_Pages = ($Num_Rows / $Per_Page) + 1;
    $Num_Pages = (int) $Num_Pages;
}


$strsql .=" order  by addedrec_ID DESC LIMIT $Page_Start,$Per_Page";
$objQuery  = MysqL_query($strsql) or trigger_error(MysqL_error());;

if ($Prev_Page) {
    echo " <a href ='$_SERVER[SCRIPT_NAME]?Page=$Prev_Page&txtName=$getname&txtState=$getstate&txtCell=$getcell&txtGroup=$getgroup'><< Back</a> ";
}

for ($i=1; $i <= $Num_Pages; $i++) {
    if ($i != $Page) {
        echo " <a href ='$_SERVER[SCRIPT_NAME]?Page=$i&txtName=$getname&txtState=$getstate&txtCell=$getcell&txtGroup=$getgroup'>$i</a> ";
    } else {
        echo "<b> $i </b>"; 
    }
}

if ($Page!=$Num_Pages) {
    echo " <a href ='$_SERVER[SCRIPT_NAME]?Page=$Next_Page&txtName=$getname&txtState=$getstate&txtCell=$getcell&txtGroup=$getgroup'>Next>></a> ";        
}

MysqL_close($objConnect);

这是我用来创建数据搜索的分页的代码.但是我只是注意到我有太多的记录,那么它会有太多的页码.我试图限制显示的页码,并寻找许多例子.有很多方法可以做到,但是我仍然没有想法如何限制我的方法…

可以得到一点点提示吗?
谢谢.

好的,如果你的意思是显示类似的东西
Prev 1 2 3 4 5 6 .. 40 41 Next 
Prev 1 2 .. 6 7 8 9 10 .. 40 41 Next

首先我们需要创建一个可以处理我们输出分页的功能.继承我使用的功能,它的功能很好.

function get_paging_info($tot_rows,$pp,$curr_page)
{
    $pages = ceil($tot_rows / $pp); // calc pages

    $data = array(); // start out array
    $data['si']        = ($curr_page * $pp) - $pp; // what row to start at
    $data['pages']     = $pages;                   // add the pages
    $data['curr_page'] = $curr_page;               // Whats the current page

    return $data; //return the paging data

}

现在这个功能非常稳固,对我来说效果很好.

所以你传递这个功能

> $tot_rows =查询的计数行
> $pp =每页的项目
> $curr_page =当前页码

好的,现在有了你需要的数据,你需要显示它.

在我想你之前,请问我使用什么,请阅读,“啊,太久了”.其实很简单

回想一下它将会返回的快照

<!-- Create the query -->
    <?PHP $count = MysqL_fetch_assoc( MysqL_query ( "SELECT COUNT( rows ) as count FROM table" ) ) ;

    <?PHP $count = $count[0]['count']; ?>

<!-- Call our function from above -->
<?PHP $paging_info = get_paging_info($count,5,34); ?>


<p>
    <!-- If the current page is more than 1,show the First and PrevIoUs links -->
    <?PHP if($paging_info['curr_page'] > 1) : ?>
        <a href='' title='Page 1'>First</a>
        <a href='' title='Page <?PHP echo ($paging_info['curr_page'] - 1); ?>'>Prev</a>
    <?PHP endif; ?>



    <?PHP
        //setup starting point

        //$max is equal to number of links shown
        $max = 7;
        if($paging_info['curr_page'] < $max)
            $sp = 1;
        elseif($paging_info['curr_page'] >= ($paging_info['pages'] - floor($max / 2)) )
            $sp = $paging_info['pages'] - $max + 1;
        elseif($paging_info['curr_page'] >= $max)
            $sp = $paging_info['curr_page']  - floor($max/2);
    ?>

    <!-- If the current page >= $max then show link to 1st page -->
    <?PHP if($paging_info['curr_page'] >= $max) : ?>

        <a href='' title='Page 1'>1</a>
        ..

    <?PHP endif; ?>

    <!-- Loop though max number of pages shown and show links either side equal to $max / 2 -->
    <?PHP for($i = $sp; $i <= ($sp + $max -1);$i++) : ?>

        <?PHP
            if($i > $paging_info['pages'])
                continue;
        ?>

        <?PHP if($paging_info['curr_page'] == $i) : ?>

            <span class='bold'><?PHP echo $i; ?></span>

        <?PHP else : ?>

            <a href='' title='Page <?PHP echo $i; ?>'><?PHP echo $i; ?></a>

        <?PHP endif; ?>

    <?PHP endfor; ?>


    <!-- If the current page is less than say the last page minus $max pages divided by 2-->
    <?PHP if($paging_info['curr_page'] < ($paging_info['pages'] - floor($max / 2))) : ?>

        ..
        <a href='' title='Page <?PHP echo $paging_info['pages']; ?>'><?PHP echo $paging_info['pages']; ?></a>

    <?PHP endif; ?>

    <!-- Show last two pages if we're not near them -->
    <?PHP if($paging_info['curr_page'] < $paging_info['pages']) : ?>

        <a href='<?PHP echo str_replace('/page'.$paging_info['curr_page'],'',$paging_info['curr_url']) . '/page'.($paging_info['curr_page'] + 1); ?>' title='Page <?PHP echo ($paging_info['curr_page'] + 1); ?>'>Next</a>

        <a href='<?PHP echo str_replace('/page'.$paging_info['curr_page'],$paging_info['curr_url']) . '/page'.$paging_info['pages']; ?>' title='Page <?PHP echo $paging_info['pages']; ?>'>Last</a>

    <?PHP endif; ?>
</p>

php – 限制分页页码的更多相关文章

  1. Html5原创俄罗斯方块(基于canvas)

    这篇文章主要介绍了Html5原创俄罗斯方块(基于canvas)的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  2. ios – 从Live Photo中提取视频部分

    有没有人想出如何从LivePhoto中提取视频部分?

  3. ios – 使用Swift的Lumberjack 2.0记录器

    我以前使用物镜C的Lumberjack记录器,我喜欢它.现在我开始学习Swift,我不能在那里使用我最喜欢的记录器.有人可以一步一步地写出我能做到的事吗?在Lumberjack2.0发布之前,我尝试在这里找到一些东西,但所有主题都是自定义包装器.我做了什么:>我用Cocoapods添加了Lumberjack;>我将“#import”添加到Bridging-Header文件中.我不知道接下来该怎么办?因为在ObjC中我有宏:staticconstintddLogLevel=LOG_LEVEL_INFO;el

  4. 从iOS应用程序发送帖子到PHP脚本不工作…简单的解决方案就像

    我之前已经做了好几次了但是由于某些原因我无法通过这个帖子…我尝试了设置为_POST且没有的变量的PHP脚本……当它们未设置为发布时它工作精细.这是我的iOS代码:这里是PHP的一大块,POST变量不在正确的位置?我想这对于更有经验的开发人员来说是一个相当简单的答案,感谢您的帮助!解决方法$_POST是一个数组,而不是一个函数.您需要使用方括号来访问数组索引:

  5. ios – 从embedded.mobileprovision配置文件获取证书到期日期

    谁可以帮我进一步?

  6. swift语言IOS8开发战记22 Core Data3

    上一话我们定义了与coredata有关的变量和方法,做足了准备工作,这一话我们来试试能不能成功。首先打开上一话中生成的Info类,在其中引用头文件的地方添加一个@objc,不然后面会报错,我也不知道为什么。

  7. swift 数据类型转换 string 转换为 int, int转换为string 等等 string转换为nsmutablestring

    bytheway:刚接触swift不就,学到的东西比较浅~~,但是有问题可以在评论里说说,我每天上,一起成长~~早晚小牛长成大牛,~more牛~~~牛的立方~~gogo

  8. 【swift_1】swift基本语法及事例Demo

    语法类的文档网上比较多,我这里参考:Swift基本语法事例Demo:链接:http://pan.baidu.com/s/1jGCINCq密码:5mdk语法须知2个不需要不需要编写main函数:全局作用域中的代码会被自动当做程序的入口点(从上往下执行)不需要在每一条语句后面加上分号letradius=10你喜欢的话,也可以加上letradius=10;有一种情况必须加分号:同一行代码上有多条语句时1

  9. 数组的enumerate(swift)

    数组的enumerateby伍雪颖letarr:Array=[1,2,216)">3,216)">4,216)">5]varresult=0forinenumerate{result+=num}println

  10. swift语言的学习笔记十二(初始化方法)

    所以Swift有了超级严格的初始化方法。与designated初始化方法对应的是在init前加上convenience关键字的初始化方法。所有的convenience初始化方法都必须调用同一个类中的designated初始化完成设置,另外convenience的初始化方法是不能被子类重写或从子类中以super的方式被调用的。这样的一个最大的好处是可以保证依赖于某个designated初始化方法的convenience一直可以被使用。这在要求子类不直接使用父类中的convenience初始化方法时会非常有帮

随机推荐

  1. PHP个人网站架设连环讲(一)

    先下一个OmnihttpdProffesinalV2.06,装上就有PHP4beta3可以用了。PHP4给我们带来一个简单的方法,就是使用SESSION(会话)级变量。但是如果不是PHP4又该怎么办?我们可以假设某人在15分钟以内对你的网页的请求都不属于一个新的人次,这样你可以做个计数的过程存在INC里,在每一个页面引用,访客第一次进入时将访问时间送到cookie里。以后每个页面被访问时都检查cookie上次访问时间值。

  2. PHP函数学习之PHP函数点评

    PHP函数使用说明,应用举例,精简点评,希望对您学习php有所帮助

  3. ecshop2.7.3 在php5.4下的各种错误问题处理

    将方法内的函数,分拆为2个部分。这个和gd库没有一点关系,是ecshop程序的问题。会出现这种问题,不外乎就是当前会员的session或者程序对cookie的处理存在漏洞。进过本地测试,includes\modules\integrates\ecshop.php这个整合自身会员的类中没有重写integrate.php中的check_cookie()方法导致,验证cookie时返回的username为空,丢失了登录状态,在ecshop.php中重写了此方法就可以了。把他加到ecshop.php的最后面去就可

  4. NT IIS下用ODBC连接数据库

    $connection=intodbc_connect建立数据库连接,$query_string="查询记录的条件"如:$query_string="select*fromtable"用$cur=intodbc_exec检索数据库,将记录集放入$cur变量中。再用while{$var1=odbc_result;$var2=odbc_result;...}读取odbc_exec()返回的数据集$cur。最后是odbc_close关闭数据库的连接。odbc_result()函数是取当前记录的指定字段值。

  5. PHP使用JpGraph绘制折线图操作示例【附源码下载】

    这篇文章主要介绍了PHP使用JpGraph绘制折线图操作,结合实例形式分析了php使用JpGraph的相关操作技巧与注意事项,并附带源码供读者下载参考,需要的朋友可以参考下

  6. zen_cart实现支付前生成订单的方法

    这篇文章主要介绍了zen_cart实现支付前生成订单的方法,结合实例形式详细分析了zen_cart支付前生成订单的具体步骤与相关实现技巧,需要的朋友可以参考下

  7. Thinkphp5框架实现获取数据库数据到视图的方法

    这篇文章主要介绍了Thinkphp5框架实现获取数据库数据到视图的方法,涉及thinkPHP5数据库配置、读取、模型操作及视图调用相关操作技巧,需要的朋友可以参考下

  8. PHP+jquery+CSS制作头像登录窗(仿QQ登陆)

    本篇文章介绍了PHP结合jQ和CSS制作头像登录窗(仿QQ登陆),实现了类似QQ的登陆界面,很有参考价值,有需要的朋友可以了解一下。

  9. 基于win2003虚拟机中apache服务器的访问

    下面小编就为大家带来一篇基于win2003虚拟机中apache服务器的访问。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. Yii2中组件的注册与创建方法

    这篇文章主要介绍了Yii2之组件的注册与创建的实现方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下

返回
顶部