D
D
DaniilRuss2020-04-25 13:22:58
PHP
DaniilRuss, 2020-04-25 13:22:58

How to display data next to the form?

Checks the data in the Post, if there is data, it displays the table, if not, it does not display it.

Controller

public function actionLab1()
    {
        $model = new RestaurantForm();
        if ($model->load(Yii::$app->request->post()) && $model->validate()) {
            return $this->render('lab1', ['model' => $model]);
        } else {
            return $this->render('lab1', ['model' => $model]);
        }
    }


view
<?php
 use yii\helpers\Html;
 use yii\widgets\ActiveForm;
 $this->title = 'Лабораторная 1';
?>

<h2>Отзыв о ресторане</h2>
<div class="lab1">
  <?php $form = ActiveForm::begin(); ?>
    <?= $form->field($model, 'name')->label('Ваше имя:') ?>
    <?= $form->field($model, 'email')->label('Ваш Email:') ?>
    <?= $form->field($model, 'age')->input('number')->label('Ваш возраст:')?>
    <?= $form->field($model, 'from_date')->input('date')->label('Дата посещения:') ?>
    <?= $form->field($model, 'favoriteСuisine')->label('Любимая кухня:')->dropDownList([
      'Русская' => 'Русская',
      'Армянская' => 'Армянская',
      'Итальянская' => 'Итальянская',
      'Японская' => 'Японская'
    ]);?>
    <?= $form->field($model, 'recommendation')->label('Порекомендуете нас друзьям?')->radioList( [
      'Да' => 'Да',
      'Нет' => 'Нет', 
    ]);?>
    <?= $form->field($model, 'feedback')->label('Текст отзыва:')->textarea(['rows' => '3']) ?>
      <div class="form-group">
          <?= Html::submitButton('Отправить', ['class' => 'btn btn-primary']) ?>
      </div>
  <?php ActiveForm::end(); ?>


  <div class="feedback"> // Этот список должен показываться после отправки формы
    <h2>Переданный отзыв</h2>
    <ul class="table">
      <li><label>Ваше имя: </label> <?= Html::encode($model->name) ?></li>
      <li><label>Ваш e-mail: </label> <?= Html::encode($model->email) ?></li>
      <li><label>Дата посещения: </label> <?= Html::encode($model->from_date) ?></li>
      <li><label>Ваш возраст: </label> <?= Html::encode($model->age) ?></li>
      <li><label>Любимая кухня: </label> <?= Html::encode($model->favoriteСuisine) ?></li>
      <li><label>Порекомендуете нас друзьям? </label> <?= Html::encode($model->recommendation) ?></li>
      <li><label>Текст отзыва: </label> <?= Html::encode($model->feedback) ?></li>
    </ul>
  </div>
</div>

Answer the question

In order to leave comments, you need to log in

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question