phpcms程序默认推荐位是不能分页哒,但是有的情况下又非得需要它能够分页,各种研究后终于找到了解决的方法。代码如下:
<?php pc_base::load_sys_class("get_model", "model", 0); $get_db = new get_model(); $pagesize = 12; $page = intval($_GET[page]) ? intval($_GET[page]) : 1; if($page<=0){$page=1;} $offset = ($page - 1) * $pagesize; $r = $get_db->sql_query("SELECT COUNT(*) from `v9_position_data` a, `v9_products` b where a.id=b.id and a.posid=1 order by a.listorder desc"); $s = $get_db->fetch_next(); $pages = pages($r, $page, $pagesize, $urlrule); $r = $get_db->sql_query("select * from `v9_position_data` a, `v9_products` b where a.id=b.id and a.posid=1 order by a.listorder desc LIMIT $offset,$pagesize"); ?> <?php while(($s = $get_db->fetch_next()) != false) {$a[] = $s;}$data = $a;unset($a);?> <?php $n=1;if(is_array($data)) foreach($data AS $r) { ?> <li><a href="{$r[url]}">{$r[title]}</a></li> <?php $n++;}unset($n); ?> <div id="pagenavi"><div> {pc:get sql="SELECT count(*) as count FROM v9_position_data where posid=1" cache="3600" return="data"} {loop $data $v} <input type="hidden" id="totalnum" value="{$v[count]}" /> {/loop} {/pc} <script src="js/jquery-1.11.1.min.js"></script> <script src="js/laypage.js"></script> <script> //计算出总页数,采用向上取整 var aa = Math.ceil($("#totalnum").val()/12); //配置分页插件 laypage({ cont: 'pagenavi', pages: aa, //可以叫服务端把总页数放在某一个隐藏域,再获取。假设我们获取到的是18 curr: function(){ //通过url获取当前页,也可以同上(pages)方式获取 var page = location.search.match(/page=(\d+)/); return page ? page[1] : 1; }(), jump: function(e, first){ //触发分页后的回调 if(!first){ //一定要加此判断,否则初始时会无限刷新 location.href = '?page='+e.curr; } } }); </script>
注:需引入jquery库和layui的分页插件。将以上代码放到对应的模板文件中,并配置为自己的数据表名称、posid、每页需要显示的条数(上述代码中的“12”表示每页显示条数)即可。
示例下载:http://pan.baidu.com/s/1dF1JsRJ 密码:zr3e
有朋自远方来...评论一下呗O(∩_∩)O