PHP实现分页

来源:互联网 发布:美工工作室怎么赚钱 编辑:程序博客网 时间:2024/06/01 21:28

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,按照以上实现就可以正常展示数据分页了,效果图如下:
这里写图片描述

原创粉丝点击