为我的愚蠢问题道歉。这是我的SiteController。
public function actionIndex()
{
$searchModel = new MahasiswaSearch();
$dataProvider = $searchModel->search($this->request->queryParams);
return $this->render('index', [
'searchModel' => $searchModel,
'dataProvider' => $dataProvider,
]);
}这是我的表格_search
<div class="control control-expanded">
<?php $form = ActiveForm::begin([
'action' => ['index'],
'method' => 'get',
]); ?>
<?php // echo $form->field($model, 'id') ?>
<?= $form->field($model, 'nim', [
'inputOptions' => ['autofocus' => 'autofocus', 'class' => 'input' ,'required'=>true]
])->input('nim', ['placeholder' => "Nomor Induk Mahasiswa"])->label(false); ?>
</div>
<div class="control control-expanded">
<?= Html::submitButton('Cari', ['class' => 'button button-primary button-block']) ?>
</div>这是我的index.php
<?php $dataes = $dataProvider->models[0]->nim;if ($dataes=="") { ?>
<?php } else {?>
<div class="hero-copy hero-2" style="z-index:30;background-color: rgba(56, 76, 76, 0.5);padding-top:8px; margin-top:8px;">
<p class="hero-paragraph is-revealing" style="text-align:center;">PENGUKUHAN MAHASISWA BARU</p>
<?php
echo "<p style=padding-left:10px;> NIM : " . $dataProvider->models[0]->nim ;echo " </p> \n";
echo "<p style=padding-left:10px;> NAMA : " . $dataProvider->models[0]->nama ;echo " </p> \n";
echo "<p style=padding-left:10px;> ANGKATAN : " . $dataProvider->models[0]->angkatan ;echo " </p> \n";
echo "<p style=padding-left:10px;> PRODI : " . $dataProvider->models[0]->prodi ;echo " </p> \n";
echo "<p style=padding-left:10px;> LOKASI KEGIATAN : " . $dataProvider->models[0]->ruangan ;echo " </p> \n";
}
?>我的问题是,我想检查$dataes =在数据库中找不到。它必须是:
<p> error Messsage </p>但当我在谷歌上发现问题和我没什么两样。或者使用表单yii2创建搜索,当错误到错误站点时,我尝试将它移动到错误站点,它不起作用。未定义的偏移量: 0,如果您知道在这里解决我的问题,谢谢

发布于 2022-08-05 03:32:24
需要更改index.php,如果:
<?php $dataes = $dataProvider->models ? $dataProvider->models[0]->nim : '';
if ($dataProvider->count == 0) {
} elseif ($dataes=="") { ?>
<p>Wow</p>
<?php }else{ ?>
<div class="hero-copy hero-2" style="z-index:30;background-color: rgba(56, 76, 76, 0.5);padding-top:8px; margin-top:8px;">
<p class="hero-paragraph is-revealing" style="text-align:center;">PENGUKUHAN MAHASISWA BARU</p>
<?php
echo "<p style=padding-left:10px;> NIM : " . $dataProvider->models[0]->nim ;echo " </p> \n";
echo "<p style=padding-left:10px;> NAMA : " . $dataProvider->models[0]->nama ;echo " </p> \n";
echo "<p style=padding-left:10px;> ANGKATAN : " . $dataProvider->models[0]->angkatan ;echo " </p> \n";
echo "<p style=padding-left:10px;> PRODI : " . $dataProvider->models[0]->prodi ;echo " </p> \n";
echo "<p style=padding-left:10px;> LOKASI KEGIATAN : " . $dataProvider->models[0]->ruangan ;echo " </p> \n";
}
?>发布于 2022-08-02 08:37:23
尝试检查数据库中键0的数据是否可用。如果没有数据,则该问题来自于在键为0的数组为空时用$dataes定义model[0]的行。
<?php $dataes = $dataProvider->models[0]->nim; ?>先尝试初始化变量$a=0,而不是定义数组键$dataes = $dataProvider->models->nim,然后再用if循环中的变量调用数组。
发布于 2022-08-03 09:22:13
我想您使用的是ActiveDataProvider。如果是这样的话,您可以使用if ($dataProvider->count == 0)来检查是否没有找到数据。
https://stackoverflow.com/questions/73202804
复制相似问题