PHP实现分页

PHP实现分页操作,使用speedphp框架,所以分页时基于此框架的pager对象实现。不多说,上代码及样例:

html页面端代码:

form中要隐藏个page,用于传值,记录分页值:
<input type="hidden" id="page" name="page" class="form-control" value="">

<!-- 分页开始 -->
<{if $pager}>
    <div class="row">
        <div class="col-sm-12">
            <div style="float:left;line-height:32px;" class="dataTables_info" id="DataTables_Table_0_info" role="alert" aria-live="polite" aria-relevant="all"><{$pager.total_count}>记录,第<{$pager.current_page}>/<{$pager.total_page}>页,每页<{$pager.page_size}>条记录</div>

        <div style="float:right;" >
            <ul class="pagination" style="margin:0px 0px;">
                            <li class="paginate_button first " aria-controls="DataTables_Table_0" tabindex="0" id="DataTables_Table_0_first"><a href="javascript:gotopage('<{$pager.first_page}>');">首页</a></li>
                            <{if $pager.current_page == $pager.first_page }>
                                <li class="paginate_button previous disabled" aria-controls="DataTables_Table_0" tabindex="0" id="DataTables_Table_0_previous"><a href="javascript:gotopage('<{$pager.prev_page}>');">上一页</a></li>
                            <{else}>
                                <li class="paginate_button previous" aria-controls="DataTables_Table_0" tabindex="0" id="DataTables_Table_0_previous"><a href="javascript:gotopage('<{$pager.prev_page}>');">上一页</a></li>
                            <{/if}>
                            <{if $pager.all_pages}>
                            <{foreach $pager.all_pages as $k}>
                                <{if $pager.current_page == $k}>
                                    <li class="paginate_button active" aria-controls="DataTables_Table_0" tabindex="0"><a href="javascript:gotopage('<{$k}>');"><{$k}></a></li>
                                <{else}>
                                    <li class="paginate_button" aria-controls="DataTables_Table_0" tabindex="0"><a href="javascript:gotopage('<{$k}>');"><{$k}></a></li>
                                <{/if}>
                            <{/foreach}>
                            <{/if}>

                            <{if $pager.current_page == $pager.last_page }>
                                <li class="paginate_button next disabled" aria-controls="DataTables_Table_0" tabindex="0" id="DataTables_Table_0_next"><a href="javascript:gotopage('<{$pager.next_page}>');">下一页</a></li>
                            <{else}>
                                <li class="paginate_button next" aria-controls="DataTables_Table_0" tabindex="0" id="DataTables_Table_0_next"><a href="javascript:gotopage('<{$pager.next_page}>');">下一页</a></li>
                            <{/if}>
                            <li class="paginate_button last " aria-controls="DataTables_Table_0" tabindex="0" id="DataTables_Table_0_last"><a href="javascript:gotopage('<{$pager.last_page}>');">尾页</a></li>
                            </ul>
                        </div>
                    </div>
                </div>
                <{/if}>
                <!-- 分页结束 -->

                <{else}>
                    <div class="row">
                        <div class="col-sm-12">
                            <div class="ibox-content">
                                <div class="row" style="text-align:center;">
                                没有找到匹配的记录!
                                </div>
                            </div>
                        </div>
                     </div>
                <{/if}>


需要加个分页跳转js方法

function gotopage(page)
{
    $("#page").val(page);
    $("#queryForm").submit();
}

PHP端分页代码:
分2块:1是按查询条件查询数据总数 2是查询数据明细展示

$voicetipinfo = new Model("t_voicetip_info");
        $sql = "select count(1) as allcount from 统计sql与下方查询sql需一致 ".$condition;
        $voicecount = $voicetipinfo->query($sql,$param);
        $pager = $voicetipinfo->pager($page, 10, 10, $voicecount[0]['allcount']);
        $this->pager = $pager;

        $pagerparam = '';
        if(isset($pager))
        {
            $pagerparam = " limit ".$pager['offset'].",".$pager['limit'];
        }
        $sql2 = "完整查询sql".$pagerparam;
        $result = $voicetipinfo->query($sql2,$param);

OK,按照以上实现就可以正常展示数据分页了,效果图如下:
这里写图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值