phpcms v9里面自带的listinfo分页函数蛮好用的,可惜啊。不支持多表查询并分页。
看了一下前台模板层支持get标签,支持多表查询,支持分页。刚好可以把这个功能搬到后台来使用。
我们现在对get_model.class.php进行改造使他能支持多表查询并分页,分享给大家
一、打开phpcms\phpcms\model下 get_model.class.php
在32行添加 方法
//自定义分页查询{支持多表} public function multi_listinfo($where = '', $page = 1, $pagesize = 12, $key='', $setpages = 10,$urlrule = '',$array = array()) { $sql = preg_replace('/select([^from].*)from/i', "SELECt COUNT(*) as count FROM ", $where); // echo $sql; $this->sql_query($sql); $c = $this->fetch_next(); $this->number = $c['count']; $page = max(intval($page), 1); $offset = $pagesize*($page-1); $this->pages = pages($this->number, $page, $pagesize, $urlrule, $array, $setpages); //分页 $r = $this->sql_query($where.' LIMIT '.$offset.','.$pagesize); while(($s = $this->fetch_next()) != false){ $data[] = $s; } return $data; }
二、使用方法
$keyword = trim($_GET['keyword']);$sql = "select e.*,d.* from phpcms_exhibit as e,phpcms_exhibit_data as d where e.id = d.id and e.catid in $catid ";if($keyword){ $where = "and (e.title like '%$keyword%' or d.expcon like '%$keyword%') "; }$sql= $sql.$where." order by e.id desc"; $search = pc_base::load_model('get_model');$page = intval($_GET['page'])?intval($_GET['page']) :'1';$infos = $search->multi_listinfo($sql,$page); //返回查询结果$pages = $search->pages;//返回分页
三、模板调用
{loop $infos $r}<li>
<div class="pic"><img src="{thumb($r[thumb], 184, 138)}" alt="">div>
<div class="cont">
<a href="{$r[url]}" target="_blank" title="{$r[title]}"><h2 class="tit">{$r[title]}h2>a>
<p class="dw"><strong>主办单位:strong><span>{$r[expzbdw]}span>p>
<p class="date"><strong>展会时间:strong><span>{$r[begintime]}至{$r[endtime]}span>p>
<p class="add"><strong>举办展馆:strong><span>{get_linkage($r[expname],3387,' >> ',0)}span>p>
div>li>{/loop} <div class="pages">{$pages}div>
方法二:
phpcms v9里面自带的listinfo分页函数蛮好用的,可惜啊。不支持多表查询并分页。
看了一下前台模板层支持get标签,支持多表查询,支持分页。刚好可以把这个功能搬到后台来使用。
我们现在对get_model.class.php进行改造使他能支持多表查询并分页,分享给大家
<?phpdefined('IN_PHPCMS') or exit('No permission resources.'); pc_base::load_sys_class('model', '', 0);class get_model extends model { public $db_config, $db_setting; public function __construct($db_config = array(), $db_setting = '') { if (!$db_config) { $this->db_config = pc_base::load_config('database'); } else { $this->db_config = $db_config; } if (!$db_setting) { $this->db_setting = 'default'; } else { $this->db_setting = $db_setting; } parent::__construct(); if ($db_setting && $db_config[$db_setting]['db_tablepre']) { $this->db_tablepre = $db_config[$db_setting]['db_tablepre']; } } public function sql_query($sql) { if (!empty($this->db_tablepre)) $sql = str_replace('phpcms_', $this->db_tablepre, $sql); return parent::query($sql); } public function fetch_next() { return $this->db->fetch_next(); } //自定义分页查询{支持多表} public function multi_listinfo($where = '', $page = 1, $pagesize = 20, $key='', $setpages = 10,$urlrule = '',$array = array()) { $sql = preg_replace('/select([^from].*)from/i', "SELECt COUNT(*) as count FROM ", $where); $this->sql_query($sql); $c = $this->fetch_next(); $this->number = $c['count']; $page = max(intval($page), 1); $offset = $pagesize*($page-1); $this->pages = pages($this->number, $page, $pagesize, $urlrule, $array, $setpages); $r = $this->sql_query($where.' LIMIT '.$offset.','.$pagesize); while(($s = $this->fetch_next()) != false){ $data[] = $s; } return $data; } }?>
使用方法和listinfo一样:
$this->get_db = pc_base::load_model('get_model');$page = intval($_GET['page']);$infos = $this->get_db->muti_listinfo($where,$page);$pages = $this->get_db->pages;
猜你喜欢
-
做一个微信小程序要多少钱?需要哪些流程?
开发一套小程序,价钱几万元到几十万不一,下列列举价目表: 第一种,套模版小程序-价钱较为低,一般好几千到一万特性是:一般必须按年收费标准。假如一些效果没法满足你,在模版基本上,再做订制开发就可以。相对于彻底订制开发而言,实际操作简易,便捷,价格便宜,开发时间较短,一个星期上下就可以发布。 第二种,选购源代码-价钱中等水平,一般两-三万上下。特性是:便捷,可以迅速发布;重要的便是你性有着了小程序源代码,不用按年交费。并且能够运用源代码,开发无数小程序,不用再次付款费用。但不一定可以购到适合的源代
-
怎么申请阿里云备案服务号
阿里云服务器都可以申请备案服务号,在你的云服务器管理里,具体: 1、登陆阿里云中心,点击右上角的“用户中心”,然后选择“快速申请备案服务号” 2、点击“申请” 3、点击“管理”并绑定对应的服务器即可
-
做一个网站大概要多少钱?
做一个网站的花费从好几百到好几千,过万的都是有,关键看自己对制作网站的需求。现阶段目前市面上制作网站注主要有三种方式。 一种是简易的模板建网站,价钱也就是几百块,缺点是模板是固定的,不可以再次设计,极大概率会跟别人一样。 二种是自助建站系统服务平台,现阶段这类方法比较时兴,技术性也很完善,发展趋势很多年了,绝大多数公司都会用。优势是价钱很便宜,也是以好几百到好几千不一,功能丰富,适用自定设计方案,作用升级完全免费,不用懂代码设计就可制作一个令人满意的好看网站。缺点是假如需求很尤其,不全考虑,绝大多数需
-
开发APP有什么好处?
第一,手机的用户群体庞大;据报告显示,传统的互联网主要依靠电脑,由于使用不方便,所以利用电脑进行信息交流的人群只有五亿左右,但是移动互联网依靠智能手机,手机的用户高达十亿! 第二,APP具有及时性;相比于电脑,员工使用移动端APP在处理一些企业工作事情上更加方便、更加快速,何时何地都能进行办公和了解信息。正是这种及时性,让移动互联网能得以飞速发展。 第三,APP的功能齐全且强大;网页因为自身的限制,功能比较少,对网络的要求比较高,而且加载网页的速度慢,真实情况下用户使用起来不方便。但是App开
-
企业做微信公众号的好处
现在如今,人手一微信的时代,企业拥有自己的微信公众号是成为自身实力的一种体现,微信公众号已成为移动互联网的趋势,平台化电子商务最缺的不是商家,而是消费者。 一、企业做微信公众号的好处 1、集中粉丝、合理精准的推送消息、精准定位、为企业的未来做打算; 2、为企业节省成本、可为用户推送视频、图文等各种形式的宣传信息,而且消息都是100%到达; 3、符合用户习惯、未来发展趋势:微信普及程度高,已有7亿用户,现在85.8%购买用户来源于手机端; 4、培养核心用户:用户方便、服务体验好
截屏,微信识别二维码
客服QQ:406784192