Answer the question
In order to leave comments, you need to log in
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]);
}
}
<?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 questionAsk a Question
731 491 924 answers to any question