我有这个代码将数据循环到我的网站:
$loop = Array();
# LOOP
foreach($sql->query($get_blogposts) AS $blogpost) {
echo '<div class="blogpost-avatar" style="background-image: url('.url('images/avatars/avatar-cropped.jpg').');"></div>';
echo '<div class="blogpost-information">';
include(DIR_REQUIRED.'/blogpost-information.php');
echo '</div>';
echo '<div class="blogpost-content">';
echo $blogpost['message'];
echo '</div>';
}
echo implode('<hr>', $loop);
问题在于我不知道如何将$loop[] =
置于foreach
循环中。我测试过这样:
$loop[] = '<div class="blogpost-avatar" style="background-image: url('.url('images/avatars/avatar-cropped.jpg').');"></div>
<div class="blogpost-information">'.
include(DIR_REQUIRED.'/blogpost-information.php')
.'</div>
<div class="blogpost-content">'.
$blogpost['message']
.'</div>';
但是我收到错误消息“Failed opening for for include”。我甚至测试过在=
之前添加一个点,如下所示:$loop[] .=
但这也不起作用。
如何解决我的问题?
提前致谢。
答案 0 :(得分:3)
如何使用输出缓冲区!
$loop = Array(); # LOOP
foreach($sql->query($get_blogposts) AS $blogpost) {
$str = '';
$str .= '<div class="blogpost-avatar" style="background-image: url('.url('images/avatars/avatar-cropped.jpg').');"></div>';
$str .= '<div class="blogpost-information">';
ob_start();
include(DIR_REQUIRED.'/blogpost-information.php');
$str .= ob_get_contents();
ob_end_clean();
$str .= '</div>';
$str .= '<div class="blogpost-content">';
$str .= $blogpost['message'];
$str .= '</div>';
$loop[] = $str;
}
答案 1 :(得分:0)
<?php
$loop = array();
foreach ($sql->query($get_blogposts) as $blogpost)
{
ob_start();
echo '<div class="blogpost-avatar" style="background-image: url('.url('images/avatars/avatar-cropped.jpg').');"></div>';
echo '<div class="blogpost-information">';
include DIR_REQUIRED.'/blogpost-information.php';
echo '</div>';
echo '<div class="blogpost-content">';
echo $blogpost['message'];
echo '</div>';
$loop[] = ob_get_contents();
ob_end_clean();
}
echo implode('<hr>', $loop);
?>
答案 2 :(得分:0)
我假设有一些静态信息存储在“blogpost-information.php”文件中,因为你添加文件内容的方式,得出这个结论。如果我的猜测是正确的,那么解决方案可能会起作用 -
$ str =“”;
如果(file_exists(DIR_REQUIRED。 '/博客帖子-information.php文件')){
$ str = fgets(DIR_REQUIRED。'/ blogpost-information.php');
}
array_push($ loop,“blah blah”。$ str。“blah blah”);