Поиск
-
- Сообщения: 150
- Зарегистрирован: 2015.02.05, 11:01
- Контактная информация:
Поиск
Добрый день.
Имеется Модель Вид Контроллер.
В view есть данный виде таблиц (CGriview).
Как создать примерно такую форма поиска?
Имеется Модель Вид Контроллер.
В view есть данный виде таблиц (CGriview).
Как создать примерно такую форма поиска?
- Вложения
-
- q1w2e3.JPG (52.98 КБ) 1847 просмотров
-
- Сообщения: 150
- Зарегистрирован: 2015.02.05, 11:01
- Контактная информация:
Re: Поиск
Код: Выделить всё
<div class="form">
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'incidends',
'enableAjaxValidation'=>false,
)); ?>
<?php echo $form->errorSummary($model);?>
<table id='ztable'>
<tr>
<td><?php echo "<strong>Дата начало</strong>"; ?></td>
<td>
<?php echo CHtml::activeTextField($model,'date_begin'); ?>
<?php echo $form->error($model,'date_begin'); ?>
</td>
<td><?php echo "<strong>До</strong>"; ?></td>
<td>
<?php echo CHtml::activeTextField($model, 'xxx'); ?>
<?php echo $form->error($model,'date_end'); ?>
</td>
<td><?php echo CHtml::submitButton('Поиск'); ?></td>
</tr>
</table>
<?php $this->endWidget(); ?>
</div><!-- form -->
-
- Сообщения: 8
- Зарегистрирован: 2014.03.11, 14:18
Re: Поиск
Код: Выделить всё
SELECT * FROM table WHERE DATE BETWEEN start_date AND end_date
-
- Сообщения: 150
- Зарегистрирован: 2015.02.05, 11:01
- Контактная информация:
Re: Поиск
1)А как передать данный из формы в модели?Frostiks25 писал(а):С форматом даты надеюсь разберешься.Код: Выделить всё
SELECT * FROM table WHERE DATE BETWEEN start_date AND end_date
2)Есть такое поля в форме который нет в модель, модель и элементы форм зависимые.
Код: Выделить всё
<?php echo CHtml::activeTextField($model, 'date_begin'); ?>
Re: Поиск
Добавьте в модель:
и пропишите в rules().
Код: Выделить всё
public $date_begin;
-
- Сообщения: 150
- Зарегистрирован: 2015.02.05, 11:01
- Контактная информация:
Re: Поиск
Добавиль модельElisDN писал(а):Добавьте в модель:
и пропишите в rules().Код: Выделить всё
public $date_begin;
Код: Выделить всё
public $date_begin;
Поставил такое условие:
Код: Выделить всё
$criteria->addBetweenCondition('date_begin', $this->date_begin_from, $this->date_begin_to);
Re: Поиск
Добавте в моделе:
в рулсе
Код: Выделить всё
public $date_begin;
public $date_end;
Код: Выделить всё
public function rules() {
return array(
.....
array('....,date_begin,date_end', 'safe', 'on'=>'search'),
);
}
и условия в "search"
public function search() {
..............................
if(!empty($this->date_begin)) {
$criteria->addcondition('date_begin>=:date_begin');
$criteria->params[':date_begin'] = $this->date_begin;
}
if(!empty($this->date_end)) {
$criteria->addcondition('date_begin<=:date_end');
$criteria->params[':date_end'] = $this->date_end;
}
-
- Сообщения: 150
- Зарегистрирован: 2015.02.05, 11:01
- Контактная информация:
Re: Поиск
Огромное Спасибо Вам Said. Благодарен.Said писал(а):Добавте в моделе:в рулсеКод: Выделить всё
public $date_begin; public $date_end;
Код: Выделить всё
public function rules() { return array( ..... array('....,date_begin,date_end', 'safe', 'on'=>'search'), ); } и условия в "search" public function search() { .............................. if(!empty($this->date_begin)) { $criteria->addcondition('date_begin>=:date_begin'); $criteria->params[':date_begin'] = $this->date_begin; } if(!empty($this->date_end)) { $criteria->addcondition('date_begin<=:date_end'); $criteria->params[':date_end'] = $this->date_end; }