phpcmsv9多表联合查询分页功能实现 可以自定义查询
2017-01-19 12:17
567 查看
phpcms v9里面自带的listinfo分页函数蛮好用的,可惜啊。不支持多表查询并分页。
看了一下前台模板层支持get标签,支持多表查询,支持分页。刚好可以把这个功能搬到后台来使用。
我们现在对get_model.class.php进行改造使他能支持多表查询并分页,分享给大家
一、打开phpcms\phpcms\model下 get_model.class.php
在32行添加 方法
二、使用方法
三、模板调用
看了一下前台模板层支持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>
相关文章推荐
- phpcmsv9多表联合查询分页功能实现
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
- SQL 在查询中插入行号--自定义分页的另外一种实现方式
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
- GridView 实现自定义分页、排序、查询、添加、编辑、多选删除、导出、突出显示等常见应用实现
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
- 利用JQuery方便实现基于Ajax的数据查询、排序和分页功能
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
- GridView 实现自定义分页、排序、查询、添加、编辑、多选删除 之代码规范
- 在ASP.NET中实现自定义分页功能
- SQL 在查询中插入行号--自定义分页的另外一种实现方式
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
- 利用JQuery方便实现基于Ajax的数据查询、排序和分页功能
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
- 使用该JavaBean可以将数据在JSP页面中以表格的形式显示出来,并具有动态排序、动态生成查询、自动分页功能
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页