效果圖:php
代碼很簡單,就是添加搜索框,搜索字段,在初始化頁面查詢的時候添加查詢條件。數據庫
1.添加搜索框ui
添加到刪除按鈕後邊.this
->setSearch('請輸入設備名稱/MAC/宿舍號', U('index'))
2.添加搜索字段spa
// 搜索 $keyword = I('keyword', '', 'string'); $condition = array('like','%'.$keyword.'%'); $map['ap_name|ap_mac|dormitory_num'] = array($condition, $condition, $condition,'_multi'=>true);
添加在index方法開頭,map的索引是可供搜索的字段,對應conditionorm
3.添加查詢條件對象
->where($map)
OK.PS:搜索的時候不能用回車鍵,使用按鈕吧。blog
Application/Equip/Admin/ApAdmin.class.php索引
<?php /** * Created by PhpStorm. * User: pangPython * Date: 16-3-30 * Time: 下午10:22 */ namespace Equip\Admin; use Admin\Controller\AdminController; use Common\Util\Think\Page; class ApAdmin extends AdminController{ public function index(){ // 搜索 $keyword = I('keyword', '', 'string'); $condition = array('like','%'.$keyword.'%'); $map['ap_name|ap_mac|dormitory_num'] = array($condition, $condition, $condition,'_multi'=>true); // 獲取全部連接 $p = !empty($_GET["p"]) ? $_GET["p"] : 1; $device_repire_object = D('equip_ap');//實例化數據對象 $data_list = $device_repire_object ->page($p, C('ADMIN_PAGE_ROWS')) ->where($map) ->select();//分頁查詢數據列表 $page = new Page( $device_repire_object->count(), C('ADMIN_PAGE_ROWS') ); // 轉換成樹狀列表 $tree = new \Common\Util\Tree(); $data_list = $tree->toFormatTree($data_list); //使用Builder快速創建列表頁面 $builder = new \Common\Builder\ListBuilder(); $builder->setMetaTitle('無線AP') //設置頁面標題 ->addTopButton('addnew') ->addTopButton('delete',array('model'=>'equip_ap')) // 添加刪除按鈕 ->setSearch('請輸入設備名稱/MAC/宿舍號', U('index')) ->addTableColumn('id', 'ID') ->addTableColumn('ap_name', '設備名稱') ->addTableColumn('ap_mac', 'MAC') ->addTableColumn('dormitory_num','宿舍號') ->addTableColumn('ap_status', '狀態', 'status') ->addTableColumn('right_button', '操做', 'btn') ->setTableDataList($data_list) // 數據列表 ->setTableDataPage($page->show()) // 數據列表分頁 ->addRightButton('edit') // 添加編輯按鈕 ->display(); } public function add(){ if(IS_POST){ $ap_object = D('equip_ap'); $data = $ap_object->create(); if($data){ $id = $ap_object->add($data); if ($id) { $this->success('新增成功', U('index')); } else { $this->error('新增失敗'); } }else{ $this->error($ap_object->getError()); } }else{ // 使用FormBuilder快速創建表單頁面。 $builder = new \Common\Builder\FormBuilder(); $builder->setMetaTitle('新增AP') // 設置頁面標題 ->setPostUrl(U('add')) // 設置表單提交地址 ->addFormItem('ap_name', 'text', 'AP名稱') ->addFormItem('ap_mac', 'text', 'mac', 'AP mac地址') ->addFormItem('dormitory_num', 'text', '宿舍號', 'AP對應的宿舍號') ->addFormItem('status', 'radio', '狀態', 'AP狀態',array('0'=>'在線','1'=>'離線')) ->display(); } } public function edit($id){ if(IS_POST){ //用於保存編輯後的數據 $Equip_Repaire_object = D('equip_ap'); $data = $Equip_Repaire_object->create(); if ($data) { if ($Equip_Repaire_object->save($data)) { $this->success('更新成功', U('index')); } else { $this->error('更新失敗'); } } else { $this->error($Equip_Repaire_object->getError()); } }else{ //用於填充並顯示點擊編輯按鈕後生成的列表 $info = D('equip_ap')->find($id); // 使用FormBuilder快速創建表單頁面。 $builder = new \Common\Builder\FormBuilder(); $builder->setMetaTitle('更改AP信息') // 設置頁面標題 ->setPostUrl(U('edit')) // 設置表單提交地址 ->addFormItem('id', 'hidden', 'ID', 'ID') //設置文本類型的表單項目並用對應的數據庫字段填充 ->addFormItem('ap_name', 'text', 'AP', 'AP 名稱') ->addFormItem('ap_mac', 'text', 'MAC', 'AP MAC 地址') ->addFormItem('ap_status', 'radio', '狀態', 'AP狀態',array('0'=>'離線','1'=>'在線')) ->addFormItem('dormitory_num', 'text', '宿舍號', 'AP對應的宿舍號') //設置數據關聯 ->setFormData($info) ->display(); } } }