@yativ_sobb

Как листать массив в yii2 pjax?

У меня при нажития кнопки переменная отнимается и прибавляетя.
Все хорошо, но переменная при каждый вызове присваеватся ноль и ++/--;
Нужно чтоб сахраняло число а не сбрасывало!
public function actionIndex()
    {
        
        $model = new Images();
        $model = $model->find()->all();
        $i=0;
        
        if(Yii::$app->request->get('arrow')){
        $arrow = $index = Yii::$app->request->get('arrow');
        
        if($arrow == 1){
            $i++;
        }else if($arrow == 0){
            $i--;
        }
     }else{
            //Yii::$app->session->get('i', 0);
     }
        
        return $this->render('index',[
            'model'=>$model,'i'=>$i]);
    }


views
<? Pjax::begin();?>
<img src="web/img/photos/<?=$model[$i]->id.'/'.$model[$i]->src?>" alt="Marsa Alam underawter close up" />
<? Pjax::end();?>
  • Вопрос задан
  • 98 просмотров
Решения вопроса 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
Что бы что-то сохранялось, надо где-то сохранять. В базе данных, в кеше, в сессии или еще где-то. Можно тупо передавать результат обратно, там записывать в data атрибут или в localStorage и потом формировать ajax c параметром. Соответственно расчеты вести от пришедшего параметра.
У переменных есть область видимости. В данном случае она ограничена функцией actionIndex и когда функция выполнена переменных в ней больше не существует.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы