如果我的数据库查询返回超过13个结果,我想在条目4和12之后放置一个广告。如果结果小于13,我想在6处放置一个广告。
我该怎么做?
获取数据库结果的代码
@foreach($batsmen as $bat)
<h2>$bat->name<h2>
<p> $bat->age<p>
<p> $bat->team<p>
@endforeach
答案 0 :(得分:0)
您可以使用简单的if条件并使用foreach的索引来解决它:
@foreach($batsmen as $i => $bat)
<h2>$bat->name<h2>
<p> $bat->age<p>
<p> $bat->team<p>
@if((count($batsmen)<13)
@if($i == 5)
<p>
Advert
</p>
@endif
@else
@if($i == 3 || $i == 11)
<p>
Advert
</p>
@endif
@endif
@endforeach
请记住,索引从0开始。
答案 1 :(得分:0)
第一个也是最简单的解决方案是我想到的。
$i=1;
@foreach($batsmen as $bat)
<h2>$bat->name<h2>
<p> $bat->age<p>
<p> $bat->team<p>
<?php
if($i==4 && count($batsmen>12))
{
replace_ad();
}
if($i==6 && count($batsmen<12))
{
replace_ad();
}
if($i==12)
{
replace_ad();
}
$i++;?>
@endforeach
答案 2 :(得分:0)
尝试使用模数。
运行一个计数器并取模数,当它为第12个记录的0时,它将显示广告
$i=0;
foreach($batsmen as $bat){
<h2>$bat->name<h2>
<p> $bat->age<p>
<p> $bat->team<p>
if($i % 12 == 0)
echo 'ad'.$I;
$i++;
}
PS:我不熟悉这种编码风格,所以只需要采用模数的概念。希望它是heöps