关联表查询数据库

1. 调用方法

$this->getRelationList(M(),$map,BD_PREFIX."deal as d left join ".DB_PREFIX."user as u on d.user_id=u.id ","d.*,u.site_id",“d.id”);

$map指的是查询条件数组


2.实现函数

protected function getRelationList($model,$map, $table, $field="*" ,$sortBy = '', $asc = false) {
//排序字段 默认为主键名
if (isset ( $_REQUEST ['_order'] )) {
$order = $_REQUEST ['_order'];
} else {
$order = ! empty ( $sortBy ) ? $sortBy : $model->getPk ();
}
//排序方式默认按照倒序排列
//接受 sost参数 0 表示倒序 非0都 表示正序
if (isset ( $_REQUEST ['_sort'] )) {
$sort = $_REQUEST ['_sort'] ? 'asc' : 'desc';
} else {
$sort = $asc ? 'asc' : 'desc';
}


//取得满足条件的记录数
$count =  $model->table($table)->where($map)->count();  //$model->where ( $map )->count ( 'id' );



if ($count > 0) {
//创建分页对象
if (! empty ( $_REQUEST ['listRows'] )) {
$listRows = $_REQUEST ['listRows'];
} else {
$listRows = '';
}
$p = new Page ( $count, $listRows );
//分页查询数据

$voList =$model->table($table)->where($map)->field($field)->order(  $order . "  " . $sort)->limit($p->firstRow . ',' . $p->listRows)->findAll ();  //$model->field($filed)->where($map)->order( "`" . $order . "` " . $sort)->limit($p->firstRow . ',' . $p->listRows)->findAll ( );


 
//分页跳转的时候保证查询条件
foreach ( $map as $key => $val ) {
if (! is_array ( $val )) {
$p->parameter .= "$key=" . urlencode ( $val ) . "&";
}
}
//分页显示

$page = $p->show ();
//列表排序显示
$sortImg = $sort; //排序图标
$sortAlt = $sort == 'desc' ? l("ASC_SORT") : l("DESC_SORT"); //排序提示
$sort = $sort == 'desc' ? 1 : 0; //排序方式
//模板赋值显示


$this->assign ( 'list', $voList );
$this->assign ( 'sort', $sort );
$this->assign ( 'order', $order );
$this->assign ( 'sortImg', $sortImg );
$this->assign ( 'sortType', $sortAlt );
$this->assign ( "page", $page );
$this->assign ( "nowPage",$p->nowPage);
}
return;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值