corethink功能模塊探索開發(十六)後臺搜索功能

效果圖: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();  
            }  
        }  
    }  
相關文章
相關標籤/搜索