一、视图

<div class="form-horizontal">
<?php $form = $this->beginWidget('CActiveForm', array('id' => 'course', 'action' => '/admin/mp/')); ?>
<div class="form-group">
<div class="col-md-2">
<?php echo $form->textField($model, 'title', array('class' => 'form-control', 'placeholder' => '标题')); ?>
</div>
<div class="col-md-2">
<?php echo $form->textField($model, 'name', array('class' => 'form-control', 'placeholder' => '名字')); ?>
</div>
<div class="col-md-2">
<?php echo $form->dropDownList($model, 'type', array('' => '类别') + $model->getTypeList(), array('class' => 'form-control', 'placeholder' => '类别')); ?>
</div>
<div class="col-md-1">
<?php echo CHtml::submitButton('查询', array('class' => 'btn btn-default btn-primary')); ?>
</div>
<div class="col-md-1">
<a href="/admin/user/edit" class="btn btn-default">添加矩阵</a>
</div>
</div>
<?php $this->endWidget(); ?>
</div>

二、模型

class Mp extends CActiveRecord
{ const AFFAIRS = 1;
const BUSINESS = 2; public function tableName()
{
return 'mp';
} public static function model($className = __CLASS__)
{
return parent::model($className);
} public function getTypeList()
{
return array(
self::AFFAIRS => '政务',
self::BUSINESS => '商业',
);
} public function getTypeName()
{
$arr = $this->getTypeList();
if (isset($arr[$this->type])) {
return $arr[$this->type];
}
return '未知';
}
public function rules()
{
return array(
array('title,name,type', 'safe', 'on' => 'search'),
);
} }

三、控制器

 public function actionIndex()
{
$model = new Mp('search');
if (isset($_POST['Mp'])) {
$model->setAttributes($_POST['Mp']);
}
$criteria = new CDbCriteria();
$criteria->addSearchCondition('title', $model->title);
$criteria->addSearchCondition('name', $model->name);
$criteria->addSearchCondition('type', $model->type);
$count = Mp::model()->count($criteria);
$pager = new CPagination($count);
$pager->pageSize = $this->pageSize;
$pager->applyLimit($criteria); $list = Mp::model()->findAll($criteria);
$this->render('index',array('model'=>$model,'list'=>$list,'pager'=>$pager)); }

Yii 查询 搜索的更多相关文章

  1. lucene多条件查询”搜索—BooleanQuery

    /** * “多条件查询”搜索—BooleanQuery * BooleanQuery也是实际开发过程中经常使用的一种Query. * 它其实是一个组合的Query,在使用时可以把各种Query对象添 ...

  2. 向DataGrid数据表格增加查询搜索框

    向DataGrid数据表格增加查询搜索框 效果如下: js代码: $(function(){ var dg = $('#dg').datagrid({ url:"${pageContext. ...

  3. Lucene.net 多条件查询搜索

    最近一直在研究lucene,目的是想让网站实现像搜索引擎那样的搜索,可以快速.准确的帮用户查询出想要的结果.废话不多说,上代码实例: 1.利用BooleanQuery进行多条件搜索(比较灵活)   L ...

  4. yii Query Builder (yii 查询构造器) 官方指南翻译

    /**** Query Builder translated by php攻城师 http://blog.csdn.net/phpgcs Preparing Query Builder 准备 Quer ...

  5. NSPredicate 查询/搜索

    IOS NSPredicate 查询.搜索   简述:Cocoa框架中的NSPredicate用于查询,原理和用法都类似于SQL中的where,作用相当于数据库的过滤取. 最常用到的函数 + (NSP ...

  6. Linux就该这么学--命令集合6(打包压缩文件、文件查询搜索命令)

    1.tar命令用于对文件打包压缩或解压:(tar [选项] [文件]) 打包并压缩文件:tar -czvf 压缩包名.tar.gz 文件名 解压并展开压缩包:tar -xzvf 压缩包名.tar.gz ...

  7. yii 查询垃圾分类接口

    public function actionGarbage() { // $param = \Yii::$app->request->post('rubbish', ''); // 接收j ...

  8. 使用.NET 6开发TodoList应用(15)——实现查询搜索

    系列导航及源代码 使用.NET 6开发TodoList应用文章索引 需求 本文我们继续来看查询过程中的另外一个需求:搜索.搜索的含义是目标字段的全部或者部分值匹配请求中的搜索条件,对应到数据库层面是C ...

  9. Symfony3 查询搜索功能DQL语句like查询

    //前台页面代码 <form method="GET" action="{{ path('staff_index') }}" name="sea ...

随机推荐

  1. iOS 学习@autoreleasepool{}

    " ojc-c 是通过一种"referring counting"(引用计数)的方式来管理内存的, 对象在开始分配内存(alloc)的时候引用计数为一,以后每当碰到有al ...

  2. BlockingQueue阻塞队列

    java.util.concurrent包: 1.Excutors类:通过这个类可获得多种线程池的实例 Excutors.newSingleThreadExecutor():获得单线程的Executo ...

  3. 025_MapReduce样例Hadoop TopKey算法

    1.需求说明

  4. 案例:1 Ionic Framework+AngularJS+ASP.NET MVC WebApi Jsonp 移动开发

    落叶的庭院扫的一干二净之后,还要轻轻把树摇一下,抖落几片叶子,这才是Wabi Sabi的境界. 介绍:Ionic是移动框架,angularjs这就不用说了,ASP.Net MVC WebApi提供数据 ...

  5. ResourceLoader笔记

    Ant路径匹配 Ant路径通配符支持“?”.“*”.“**”,注意通配符匹配不包括目录分隔符“/”: “?”:匹配一个字符,如“config?.xml”将匹配“config1.xml”: “*”:匹配 ...

  6. INSPIRED启示录 读书笔记 - 第24章 平滑部署

    避免更新产品导致用户反感 毫无征兆地更新不必要的版本会令用户产生反感.不是所有用户都喜欢新版本的产品.用户产生反感主要有几个原因 1.事前没有收到更新通知,用户觉得措手不及 2.用户没时间学习.适应新 ...

  7. Linux与Android 多点触摸协议【转】

    本文转载自:http://blog.csdn.net/xubin341719/article/details/7833277 一.Linux与Android 多点触摸协议 为了使用功能强大的多点触控设 ...

  8. struts2中常用配置

    1.Post提交乱码问题,如果编码采用的是utf-8,那么默认不需要自己处理,因为其默认的常量配置文件就是处理UTF-8的 这个常量值只处理POST提交,get如果乱码还得自己写拦截器处理,一般只要页 ...

  9. VisualStudio卸载后无法再次安装的解决方法

    解决方法如下: 1.删除 Visual Studio 2013 安装目录文件夹 Visual Studio 12.0 2.win+R 输入 %UserProfile%\Appdata\Local\Mi ...

  10. LeetCode——Construct Binary Tree from Inorder and Postorder Traversal

    Question Given inorder and postorder traversal of a tree, construct the binary tree. Note: You may a ...