一、控制器
// 列表 public function lst() { $model = D(‘Goods‘); // 获取带翻页的数据 $data = $model->search(); $this->assign(array( ‘data‘ => $data[‘data‘], ‘page‘ => $data[‘page‘], )); $this->display(); }
二、模型中数据的查询
public function search() { /************ 搜索 ****************/ $where = array(); // 商品名称的搜索 $goodsName = I(‘get.goods_name‘); if($goodsName) $where[‘goods_name‘] = array(‘like‘, "%$goodsName%"); // 价格的搜索 $startPrice = I(‘get.start_price‘); $endPrice = I(‘get.end_price‘); if($startPrice && $endPrice) $where[‘price‘] = array(‘between‘, array($startPrice, $endPrice)); elseif ($startPrice) $where[‘price‘] = array(‘egt‘, $startPrice); elseif ($endPrice) $where[‘price‘] = array(‘elt‘, $endPrice); // 上架的搜索 $isOnSale = I(‘get.is_on_sale‘, -1); if($isOnSale != -1) $where[‘is_on_sale‘] = array(‘eq‘, $isOnSale); // 是否删除的搜索 $isDelete = I(‘get.is_delete‘, -1); if($isDelete != -1) $where[‘is_delete‘] = array(‘eq‘, $isDelete); /***************** 排序 ******************/ $orderby = ‘id‘; // 默认排序字段 $orderway = ‘asc‘; // 默认排序方式 $odby = I(‘get.odby‘); if($odby && in_array($odby, array(‘id_asc‘,‘id_desc‘,‘price_asc‘,‘price_desc‘))) { if($odby == ‘id_desc‘) $orderway = ‘desc‘; elseif ($odby == ‘price_asc‘) $orderby = ‘price‘; elseif ($odby == ‘price_desc‘) { $orderby = ‘price‘; $orderway = ‘desc‘; } } /************ 翻页 *************/ // 总的记录数 $count = $this->where($where)->count(); // 生成翻页对象 $page = new \Think\Page($count, 2); // 获取翻页字符串 $pageString = $page->show(); // 取出当前页的数据 $data = $this->where($where)->limit($page->firstRow.‘,‘.$page->listRows)->order("$orderby $orderway")->select(); //echo $this->getLastSql(); return array( ‘page‘ => $pageString, ‘data‘ => $data, ); }
时间: 2024-10-08 04:13:32