我有一个关于显示一个函数的内容的问题,这个函数显示一个while循环。Php显示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循环分别如下所示:
while($row = mysqli_fetch_array($stmt))
{
$this->BEAR->Template->setData('name', $row['name']);
$this->BEAR->Template->setData('name', $row['age']);
}
然后调用在控制器的功能,并调用每个使用setData,但这只是显示的第一个结果不完整的while循环内容。
因此,我希望在我的视图(使用HTML)中显示我的while循环的所有内容,但希望我的函数能够获取并设置数据。这可以做到吗?任何想法或指导将不胜感激。
我不知道如果我明白了,你basicly想从你的PHP获得现场HTML输出?如果是这样,AJAX是给你的。 –
不,基本上来自我的模型,以获取数据并在while循环中设置每行。然后在我的模型中调用该函数,并单独显示来自我的模型的设置行。 – HireLee
如果您从两个不同的控制器调用$ model-> get_results,然后一年后您想要更改其中一个控制器的输出格式,那么会发生什么情况......您不能因为您在模型中创建了输出。 您的模型应该只返回数据集。您的控制器应该调用model-> get_results并将结果数据集传递给视图(模板)。 在上面的示例中,您将模型中的视图组合在一起 – Matt