Yii不用小物件,如何作到搜索條件提交

關於搜索條件的表單提交(不用小物件)


HTML部分:(如下三塊兒內容,基本上包含了全部的搜索形式,輸入框,下拉菜單和插件),只是一個普通的form表單,提交用submit。php

<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部分,確定須要先遍歷一下...
相關文章
相關標籤/搜索