corethink功能模块探索开发(十六)后台搜索功能

效果图:

代码很简单,就是添加搜索框,搜索字段,在初始化页面查询的时候添加查询条件。

1.添加搜索框

添加到删除按钮后边.

    ->setSearch('请输入设备名称/MAC/宿舍号', U('index'))  

2.添加搜索字段

    // 搜索  
            $keyword = I('keyword', '', 'string');  
            $condition = array('like','%'.$keyword.'%');  
            $map['ap_name|ap_mac|dormitory_num'] = array($condition, $condition, $condition,'_multi'=>true);  

添加在index方法开头,map的索引是可供搜索的字段,对应condition

3.添加查询条件

    ->where($map)  

  

OK.PS:搜索的时候不能用回车键,使用按钮吧。

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();  
            }  
        }  
    }  

  

posted @ 2017-12-22 15:24  zhuzhipeng  阅读(513)  评论(0编辑  收藏  举报