while ループを表示する関数の内容の表示について質問があります。
これが私のモデル内の関数です:
function get_results($id)
{
$stmt = "select * where ... "
$stmt = $this->BEAR->Database->query($stmt);
$result = '';
while($row = mysqli_fetch_array($stmt))
{
$result .= '<div>';
$result .= $row['name'];
$result .= '</div>';
}
$this->BEAR->Template->setData('loop', $result, FALSE);
}
これは私のコントローラーです:
$BEAR->Webprofile->get_results(Template->getData('id'));
そして、これは私の見解です:
<?php echo $this->getData('loop');?>
これにより、問題なくビュー内にループが表示されます。しかし、私が望んでいるのは、モデル内に HTMl を持たないことです。とにかくこれを行うことはありますか (これにより、モデルに大量の HTML が発生する可能性があるため)。おそらく、モデル内でデータを設定し、ビュー内でデータを取得する方法です。
次のように個別にループしながら、モデル関数内で設定しようとしました:
while($row = mysqli_fetch_array($stmt))
{
$this->BEAR->Template->setData('name', $row['name']);
$this->BEAR->Template->setData('name', $row['age']);
}
次に、コントローラーで関数を呼び出し、各 setData を呼び出しますが、これはコンテンツの完全な while ループではなく、最初の結果のみを表示しました。
したがって、while ループのすべてのコンテンツを (HTML を使用して) ビューに表示したいのですが、関数はデータを取得して設定するだけにしたいと考えています。これはできますか?ご意見やご指導をいただければ幸いです。