用yii 1实现后台的搜索功能,效果如下图:

1.模型中:

 public function search()
{ $criteria = new CDbCriteria;
//独立高级搜索
if(isset( $_GET['goods']) ) {
//商品货号
if (isset($_GET['goods']['goods_sn']) && $_GET['goods']['goods_sn'] != "")
{
$criteria->compare('goods_sn',$_GET['goods']['goods_sn'], true );
}
//商品名称
if (isset($_GET['goods']['goods_name']) && $_GET['goods']['goods_name'] != "")
{
$criteria->compare('goods_name',$_GET['goods']['goods_name'], true);
}
//商品分类
if (isset($_GET['goods']['cat_id']) && $_GET['goods']['cat_id'] != "")
{
$criteria->compare('cat_id',$_GET['goods']['cat_id'], true);
}
//是否上架
if (isset($_GET['goods']['is_on_sale']) && $_GET['goods']['is_on_sale'] != "")
{
$criteria->compare('is_on_sale',$_GET['goods']['is_on_sale']);
}
//是否精品
if (isset($_GET['goods']['is_best']) && $_GET['goods']['is_best'] != "")
{
$criteria->compare('is_best',$_GET['goods']['is_best']);
}
//是否新品
if (isset($_GET['goods']['is_new']) && $_GET['goods']['is_new'] != "")
{
$criteria->compare('is_new',$_GET['goods']['is_new']);
}
//是否热销
if (isset($_GET['goods']['is_hot']) && $_GET['goods']['is_hot'] != "")
{
$criteria->compare('is_hot',$_GET['goods']['is_hot']);
} }
return new CActiveDataProvider($this, array(
'criteria'=>$criteria
));
}

2.控制器中:

$model=new B2cGoods('search');

表示在model中启用模型中的search作为搜索。

3.视图中:

<div class="well">
<div class="search-box">
<form class="form-inline" method="get" action="">
       //指定form表单提交的页面,很重要
<input type='hidden' name='r' value='B2CShop/b2cGoods/goodsList/id/<?php echo $id ?>'>
<div class="form-group">
<input
name="goods[goods_sn]"
type="text"
class="form-control"
style="width:140px;"
placeholder = "商品货号"
value=<?php echo $_GET['goods']['goods_sn'] ; ?>
>
</div>&nbsp; <div class="form-group">
<input
name="goods[goods_name]"
type="text"
class="form-control"
style="width:140px;"
placeholder = "商品名称"  
value=<?php echo $_GET['goods']['goods_name'] ; ?>
>
</div>&nbsp;&nbsp;
<div class="form-group">
<?php echo CHtml::dropDownList( "goods[cat_id]" ,
$_GET['goods']['cat_id'] ,
B2cCategory::listData( $id ) ,
array( "class"=>"form-control" , 'empty'=>'请选择类型...', 'encode' => false, "style"=>"width:140px") ); ?>
</div>&nbsp;&nbsp;
<div class="checkbox">
<label style="font-size: 16px">上架
<input
type="checkbox"
name="goods[is_on_sale]"
style="width: 24px;"
value="1"
                //实现checkbox,刷新页面保持原状态
<?php echo $_GET['goods']['is_on_sale']?'checked="checked"':'' ?>
>
</label>
</div>&nbsp;&nbsp;
<div class="checkbox">
<label style="font-size: 16px">精品
<input
type="checkbox"
name="goods[is_best]"
style="width: 24px;"
value="1"
<?php echo $_GET['goods']['is_best']?'checked="checked"':'' ?>
>
</label>
</div>&nbsp;&nbsp;
<div class="checkbox">
<label style="font-size: 16px">新品
<input
type="checkbox"
name="goods[is_new]"
style="width: 24px;"
value="1"
<?php echo $_GET['goods']['is_new']?'checked="checked"':'' ?>
>
</label>
</div>&nbsp;&nbsp;
<div class="checkbox">
<label style="font-size: 16px">热销
<input
type="checkbox"
name="goods[is_hot]"
style="width: 24px;"
value="1"
<?php echo $_GET['goods']['is_hot']?'checked="checked"':'' ?>
>
</label>
</div>
<button type="submit" class="btn btn-default"><span class="glyphicon glyphicon-search"></span>&nbsp;搜&nbsp;索</button>
</form>
</div>
</div>

这里需要注意的一点是实现checkbox,保持原状态,<?php echo $_GET['goods']['is_hot']?'checked="checked"':'' ?>,即用php判断是否有值。

Yii 1开发日记 -- 搜索功能及Checkbox的实现的更多相关文章

  1. Yii 1开发日记 -- 后台搜索功能下拉及关联表搜索

    Yii 1 实现后台搜索,效果如下: 一. 下拉搜索: 1.模型中和常规的一样 if (isset($_GET['agency']['status']) && $_GET['agenc ...

  2. Yii 1开发日记 -- Ajax实现点击加载下一页

    功能实现:先输出一页的内容,然后点击加载下一页,如图 1.控制器中 /** * 消费记录:列出用户购买章节的记录 */ public function actionMyPayHis() { //点击加 ...

  3. iOS开发总结-搜索功能实现--使用SKTag

    TagsTableViewController.h 文件 #import <UIKit/UIKit.h> #import "personSearch.h" @inter ...

  4. (转)淘淘商城系列——商品搜索功能Dao实现

    http://blog.csdn.net/yerenyuan_pku/article/details/72909286 终于进入商品搜索功能的开发中了,本文我来教大家编写实现商品搜索功能的Dao层代码 ...

  5. PHP+mysql数据库开发搜索功能:中英文分词+全文检索(MySQL全文检索+中文分词(SCWS))

    PHP+mysql数据库开发类似百度的搜索功能:中英文分词+全文检索 中文分词: a)   robbe PHP中文分词扩展: http://www.boyunjian.com/v/softd/robb ...

  6. 后台商品搜索功能开发SQL

    在做后台的商品搜索功能开发时遇到了一些问题记录下来 版本一 <select id="SelectByNameAndParentId resultMap="Base_resul ...

  7. Java 开源办公开发平台 O2OA V5.4.0 发布 | 设计元素搜索功能上线

    O2OA V5.4.0版本此次更新的设计元素搜索功能,可以让用户在海量的脚本.页面.表单.视图等信息中迅速锁定有价值的信息,以便提高用户获取信息的效率.拥有此搜索功能后,在开发过程中,可以加速定位脚本 ...

  8. yii2组件之下拉框带搜索功能(yii-select2)

    简单的小功能,但是用起来还是蛮爽的.分享出来让更多的人有更快的开发效率,开开心心快乐编程. 如果你还没有使用过composer,你可就out了,看我的教程分享,composer简直就是必备神奇有木有. ...

  9. 【Android开发日记】之入门篇(六)——Android四大组件之Broadcast Receiver

    广播接受者是作为系统的监听者存在着的,它可以监听系统或系统中其他应用发生的事件来做出响应.如设备开机时,应用要检查数据的变化状况,此时就可以通过广播来把消息通知给用户.又如网络状态改变时,电量变化时都 ...

随机推荐

  1. spring-mvc注解(mvc:annotation-driver,JSON,配置详解)

    一.DefaultAnnotationHandlerMapping 和 AnnotationMethodHandlerAdapter 的使用已经过时! spring 3.1 开始我们应该用 Reque ...

  2. python学习笔记(二)

    (一)模块打包     --->        注:suba和subb文件夹下的__init__.py文件,即使为空,也必须存在 "setup.py" from distut ...

  3. unity小地图技术方案总结

    技术方案 一:从顶视图获取实时小地图(优点实现快容易对地图进行放大缩小操作而且地图,缺点是不好对地图做出修改,只能在顶部加个另外的相机层来遮盖) 1.创建Redertexture并改名为smallma ...

  4. Ubuntu下通过SSH远程登录服务器的方法

    1. 首先在服务器上安装ssh的服务器端.$ sudo aptitude install openssh-server 2. 启动ssh-server.$ /etc/init.d/ssh restar ...

  5. CSS布局奇淫技巧之--各种居中

    居中是我们使用css来布局时常遇到的情况.使用css来进行居中时,有时一个属性就能搞定,有时则需要一定的技巧才能兼容到所有浏览器,本文就居中的一些常用方法做个简单的介绍. 注:本文所讲方法除了特别说明 ...

  6. 用RMAN备份EBS数据库的脚本

    rman_bak.sh rman target / nocatalog log=/d01/rmanbak/bak_`date +%m%d%H%M`.log<< EOF  run  {  c ...

  7. mysql 编译安装

    mysql 编译安装方式:   ```cd /home/oldboy/tools```                创建 目录          if not have   then     mkd ...

  8. jqueryUI弹出框问题

    jqueryui dialog中 select选不中或比较慢 dialog = function(Window,dialogDivId,title,buttons,css) { css = css|| ...

  9. python 2.7 学习笔记--day1--基础语句和语法

    1. 用户交互 鉴于本小节十分的基础,变不多做赘述啦! 1.1 输出第一个程序:"Hello World !" 1.2 输出字符串,重点是去除字符串中的前后的空格,使用strip( ...

  10. Android中矢量动画

    Android中矢量动画 Android中用<path> 标签来创建SVG,就好比控制着一支画笔,从一点到一点,动一条线. <path> 标签 支持一下属性 M = (Mx, ...