Filtrar por Fecha

Hola que tal comunidad,

Quiza mi duda no sea mucho en cuestión a programación por el momento.

Lo que pasa que tengo una tabla…

SeguimientoEscolar

ID TEMA FECHAPROGRAMADA FECHAREALIZADAREAL

1 TEMA1 17/11/2015

2 TEMA 20/11/2015

en el cual un profesor genera su reporte de las actividades que realiza en cada clase.

al inicio del curso el maestro registrara su programa, asi que solo llenara FECHAPROGRAMADA de todos los temas, ENTONCES

para la escuela me piden que el profesor semanalmente valla llenando la fecharealizadareal de cada tema que especifico al inicio del curso…

Por ejemplo el Tema1 lo programe el 17/11/2015, entro al sistema y pongo la fecha en que vi dicho tema.

Pero no se una manera de programar, que el sistema muestre los temas de la semana en curso., o los no evaluados aun,. es decir si un profesor ya lleno la Fecharealizadasreal de un tema pasada ya no es posible modificar eso xq ya paso dicha fecha, igual no puede adelantarse a evaluaar temas que aun no se ven.

No se si me explico.

Espero y puedan darme una idea, de la manera de filtrar las fechas.

Saludos

Hola colega si creo haber comprendido bien necesitas conocer 2 elementos:

Primero, cómo detrminar busquedas o validaciones a partir de rangos de fechas. Yo tengo unos posts sobre ese tema pero como estan en el foro en ingles prefiero explicarte desde 0…

Tomese que vas a determinar un limite superior y otro inferior para las fechas, osea despues de este dia y antes de este otro y ello lo vas a especificar para realizar filtrajes en un DataGrid.

En ese caso comienzas por el modelo. En este ejemplo tenemos un campo Fecha en la tabla tbl_maestra_masa; en consecuencia tengo un Modelo MaestraMasa y un atributo Fecha.

1- Declaro dos variables para manejar el rango de fecha: $date_upper_limit y $date_lower_limit

*/

class MaestraMasa extends CActiveRecord

{

public $date_upper_limit;


public $date_lower_limit;





/**


 * @return string the associated database table name


 */


public function tableName()


{


	return 'tbl_maestra_masa';


}

2- luego las declaro en las reglas para poder buscar mediante su empleo

public function rules()


{


	// NOTE: you should only define rules for those attributes that


	// will receive user inputs.


	return array(


		...


		array('Id, ..., Cantidad, Fecha, date_upper_limit, date_lower_limit', 'safe', 'on'=>'search'),


		...


	);


}

3- En la funcion search las planteo con el uso del metodo addBetweenCondition perteneciente a CDbCriteria

public function search()


{


	// @todo Please modify the following code to remove attributes that should not be searched.





	$criteria=new CDbCriteria;


	...


	$criteria->addBetweenCondition('Fecha',''.$this->date_upper_limit.'', ''.$this->date_lower_limit.'');





	return new CActiveDataProvider($this, array(


		'criteria'=>$criteria,


	));


}

4 - Luego en mi archivo _search.php agrego este codigo planteando las variables asociadas a un DatePicker

<div class="control-group">


	<?php echo $form->label($model, 'date_upper_limit', array('class'=>'control-label')); ?>


	<div class='controls'>


		<?php  $this->widget('zii.widgets.Jui.CJuiDatePicker', array('model'=>$model, 'attribute'=>'date_upper_limit', 'value'=>$model->date_upper_limit, 'options'=>array('dateFormat'=>'yy-mm-dd'))); ?>


	</div>	


</div>





<div class= "control-group">


	<?php echo $form->label($model, 'date_lower_limit', array('class'=>'control-label')); ?>


	<div class= 'controls'>


		<?php  $this->widget('zii.widgets.Jui.CJuiDatePicker', array('model'=>$model, 'attribute'=>'date_lower_limit', 'value'=>$model->date_lower_limit, 'options'=>array('dateFormat'=>'yy-mm-dd'))); ?>


	</div>


</div>

Así te debe funcionar…

El otro elemento es la fecha actual

Esa determinala de este modo segun el formato que le quieras dar (yo te recomiendo este)

date(‘Y-m-d’);

Si no te comprendí o deseas ampliar en alguna otra vertiente de tu duda, dime y seguimos intercambiando…De todas formas escribe y dinos si te sirvió y por favor tu opinión de la calidad del post para tratar de hacerlo lo mejor posible para la comunidad Yii en Castellano…

Suerte y éxitos…