效果图:
代码很简单,就是添加搜索框,搜索字段,在初始化页面查询的时候添加查询条件。
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);
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(); } } }