Страница 1 из 1

Yii::app()->session

СообщениеДобавлено: 31 окт 2015, 09:12
Feruza
Zdravstvuyte, lyudi dobrie i umnie. Pojaluysta pomogite
Controller:
Код: Выделить всё
public function actionFizika($id)
    { 
        $block 
= Category::model()->findByPk(array($id));
        $models1 = Fizika::model()->findAll(
        array(  
            
"condition" => "",  
            
"order" => "rand()",  
            
"limit" => 10,  
        
)     
            
);
        $this->render('index', array('models'=>$models1, 'block'=>$block));        
    
}
    public function actionMatem()
    {   

        $this
->render('index', array('models'=>$models1, 'block'=>$block));
        }
 

index.php
Код: Выделить всё
<?php echo CHtml::beginForm();  
  echo 
"<div class='right'>";
  echo "<b id='s'>".CHtml::link(CHtml::encode("1"), array('test/'.$block->a_block.'/'.$block->id))."</b>";
  echo "<b id='s'>".CHtml::link(CHtml::encode("2"), array('test/'.$block->b_block.'/'.$block->id))."</b>";
  echo "<b id='s'>".CHtml::link(CHtml::encode("3"), array('test/'.$block->c_block.'/'.$block->id))."</b>";
  echo "</div>";
 $a=0;    
foreach 
($models as $one ) {
  $a++;
  if (isset(Yii::app()->session['questions'])) {
  echo '<b>'.$a.'. </b>'.Yii::app()->session['questions']['question'].'</br>';
  echo CHtml::radioButtonList('answer_'.$a, $model->answer,array(
  Yii::app()->session['questions']['a'], Yii::app()->session['questions']['b'])).'</br>';
}
  
else  Yii
::app()->session['questions']=array(
    'id'=>$one->id,
    'question'=>$one->question, 
     
'a'=>$one->a, 
   
'b'=>$one->b, 
        
);

}
  echo "</br>".CHtml::SubmitButton('result',array('class'=>"btn btn-info"));
  echo CHtml::endForm();
 
  ?>

Problema:
1.v etom sluche vivodet 10 shtuk odinakvy testi dlya vsex actionov ( prichenu kanewno ponimayu no rewat ne smogla
2.dlya kajdogo actiona doljna bit svoya sessiya Vverxu umenya ssilka dlya razlichnix actionov Xochu chtob oni rabotali kak prev I next

Re: Yii::app()->session

СообщениеДобавлено: 02 ноя 2015, 22:22
Xpycm
Здравствуйте.

1)Уберите пустой condition
Скорее всего необходимо перебирать массив models1 при помощи foreach.

2) При просмотре теста вы же знаете его id. Можете путём sql запроса получить предыдущий и следующий id. Использовать сессии для этого ни к чему