tp3.2 分页查询案例

public function unSettle() {
$dump = $this->Seria();//调用session中的用户信息

$id = $_POST['hello'];
session('a', $id);
if ($_GET['p']) {
$n = session(a);
$sel = "(ubid = '{$dump['ubid']}'and status = 0) and (id like '%{$n[0]}%')";
$count = M('bill')->where($sel)->count();
$Page = new \Think\HPage($count, 2);
if ($n) {
$bill = M('bill')->field('id,bill_num,items,pay_money,uid,client_id,add_time,status,remarks')->where($sel)->select();

//加上->page($_GET['p'], '2')后,查询语句会增加一个限制字段“limit”,导致结果不能有效查询出来,所以使用不同的查询语句
} else {
$bill = M('bill')->field('id,bill_num,items,pay_money,uid,client_id,add_time,status,remarks')->where($sel)->page($_GET['p'], '2')->select();
}

//以下是通过遍历的方法查询新表中的语句,正常情况使用join连表查询就可以了(该项目使用join方法查询出的值不全面)。
foreach ($bill as $k => $value) {
$where['id'] = $value['uid'];
$user = M('user')->field('user_name')->where($wheres)->find();
$bill[$k]['user_name'] = $user['user_name'];
$client = M('client')->field('name,phone')->where('id=' . $value['client_id'])->find();
$bill[$k]['name'] = $client['name'];
$bill[$k]['phone'] = $client['phone'];
$member = M('member')->field('member_card_id')->where('client_id=' . $value['client_id'])->find();
$bill[$k]['member_card_id'] = $member['member_card_id'];
}

$show = $Page->show(); // 分页显示输出
$this->assign('page', $show); // 赋值分页输出
$this->assign('count', $count); // 赋值分页输出
$this->assign("billinfo", $bill);
$this->display("Billing/unsettle");
session('a', null);
}

else {

$n = session(a);
$sel = "(ubid = '{$dump['ubid']}'and status = 0) and (id like '%{$n[0]}%')";
$count = M('bill')->where($sel)->count();
$Page = new \Think\HPage($count, 2);
$bill = M('bill')->field('id,bill_num,items,pay_money,uid,client_id,add_time,status,remarks')

->where($sel)->page($_GET['p'], '2')

->select();

foreach ($bill as $k => $value) {
$where['id'] = $value['uid'];
$user = M('user')->field('user_name')->where($wheres)->find();
$bill[$k]['user_name'] = $user['user_name'];
$client = M('client')->field('name,phone')->where('id=' . $value['client_id'])->find();
$bill[$k]['name'] = $client['name'];
$bill[$k]['phone'] = $client['phone'];
$member = M('member')->field('member_card_id')->where('client_id=' . $value['client_id'])->find();
$bill[$k]['member_card_id'] = $member['member_card_id'];
}
session('a', null);
$show = $Page->show(); // 分页显示输出
$this->assign('page', $show); // 赋值分页输出
$this->assign('count', $count); // 赋值分页输出
$this->assign("billinfo", $bill);

$this->display("Billing/unsettle");
}
}

posted @ 2017-05-23 15:41  渔夫三拳  阅读(224)  评论(0编辑  收藏  举报