我正在使用foreach从查询中使用LIMIT 8从MySQL检索数据,但是当我在foreach中显示数据时,由于MySQL数据库中没有足够的数据,因此会丢失块(div)。我想知道是否可以自动包含8个div甚至没有任何数据插入到这些div中,一旦有数据,它就可以更新块。
离。
块的css代码。
.g_body-first-left { background-color: #000; width: 200px; height: 300px; }
这就是我显示数据的方式。 PS:不需要包含查询,因为我只是想检索8个块。
foreach ($healthHighlighted as $data)
{
$highlighted_title = $data['article_title'];
$highlighted_content = $data['article_content'];
echo
'
<div class="g_body-first-left">
</div>
';
}
所以我希望foreach能够显示
<div class="g_body-first-left">
</div>
无论是否有任何数据显示。
答案 0 :(得分:2)
快速解决方案:
$cnt = 0;
foreach ($healthHighlighted as $data)
{
$highlighted_title = $data['article_title'];
$highlighted_content = $data['article_content'];
echo '<div class="g_body-first-left">...</div>';
$cnt++;
}
while ($cnt++<8)
echo '<div class="g_body-first-left"></div>';
答案 1 :(得分:0)
也许是这样的:
$block_count = 0;
foreach ($healthHighlighted as $data)
{
$highlighted_title = $data['article_title'];
$highlighted_content = $data['article_content'];
echo
'
<div class="g_body-first-left">
</div>
';
$block_count++;
}
for($i=0; $i<(8-$blockcount); $i++){
echo
'
<div class="g_body-first-left">
</div>
';
}
这是另一种快速解决方案,但它会起作用!
答案 2 :(得分:0)
for ($i = 0; $i < 8; $i++) {
$data = current($healthHighlighted);
next($healthHighlighted);
$highlighted_title = $data['article_title'];
$highlighted_content = $data['article_content'];
echo '<div class="g_body-first-left">';
if ($data) {
echo $data; // your data rendering goes here
}
echo '</div>';
}
答案 3 :(得分:0)
如果您想准确插入8个div,请使用good'ol for
而非foreach
for($i = 0; $i++; $i < 8)
{
if(isset($healthHighlighted[$i]))
{
$highlighted_title = $healthHighlighted[$i]['article_title'];
$highlighted_content = $healthHighlighted[$i]['article_content']; //i guess this has to
}
echo
'
<div class="g_body-first-left">
</div>
';
}