Yii不用小物件,如何做到搜索条件提交

来源:互联网 发布:网易乐乎 编辑:程序博客网 时间:2024/05/01 17:46
关于搜索条件的表单提交(不用小物件)


HTML部分:(以下三块儿内容,基本上包含了所有的搜索形式,输入框,下拉菜单和插件),只是一个普通的form表单,提交用submit。

<span style="font-family:Microsoft YaHei;"><span style="font-size:14px;"><div class="hetong">    <label class="fl label_list">文章ID:</label>    <input class="fl ziliao_input" type="text" style="width: 100px;" name="news_id" value="<?php echo $search['news_id'];?>">    <div class="clear"></div></div><div class="fl">    <div class="hetong">        <label class="fl label_list">时间:</label>        <input class="ziliao_input fl c999" placeholder="开始时间" name="start_time" id="start_time" value="<?php echo $search['start_time'];?>" type="text" style="width: 85px;">        <input class="ziliao_input fl ml_10 c999" placeholder="结束时间" name="end_time" id="end_time" value="<?php echo $search['end_time'];?>" type="text" style="width: 85px;">        <div class="clear"></div>    </div></div><div class="hetong">    <label class="fl label_list">文章类型:</label>  <select class="fl add_sel_three ziliao_input" style="width: 80px;" name="category_id">        <option value="">全部</option>        <?php foreach( (array) $category as $cateKey => $cateVal ):?>            <option value="<?php echo $cateKey;?>" <?php if($cateKey == $search['category_id']):?>selected<?php endif;?>><?php echo $cateVal;?></option>        <?php endforeach;?>    </select>    <div class="clear"></div></div></span></span>

控制器部分

<span style="font-family:Microsoft YaHei;"><?php//罗列搜索条件$search['title'] = Yii::app() -> request -> getParam('title');$search['start_time'] = Yii::app() -> request -> getParam('start_time');$search['end_time'] = Yii::app() -> request -> getParam('end_time');$search['category_id'] = Yii::app() -> request -> getParam('category_id');$cri = new CDbCriteria();$cri -> alias ="article";$cri -> order = "article.top desc, article.create_time desc";$cri -> condition = "article.is_hidden = 0";$cri -> with = array('business' => array('select' => 'business_name, biz_employee_id',),);//文章标题if ( $search['title'] ){    $cri -> addSearchCondition("article.title", $search['title']);}//起止时间if ( $search['start_time'] && $search['end_time'] ){    $startTime = strtotime($search['start_time']);    $endTime = strtotime($search['end_time']. ' 23:59:59');    $cri -> addCondition("article.create_time >= '{$startTime}' AND article.create_time <= '{$endTime}'");}elseif ( $search['start_time'] ){    $startTime = strtotime($search['start_time']);    $cri -> addCondition("article.create_time >= '{$startTime}'");}elseif ( $search['end_time'] ){    $endTime = strtotime($search['end_time']. ' 23:59:59');    $cri -> addCondition("article.create_time <= '{$endTime}'");}//文章类型if ( $search['category_id'] ){    $cri -> addCondition("article.category_id = '{$search['category_id']}'");}//遍历文章类型$categoryInfo = NewsCategory::model() -> findAll("is_hidden = 0");$category = array();foreach ( $categoryInfo as $v ) {$category[$v -> category_id] = $v -> name;}?></span>
当然,像select部分,肯定需要先遍历一下...

0 0