感谢您查看我的问题,我尝试做的是输出 ul 一次,但让它的 li 元素循环通常在while循环中,如果UL不止一次地回显它会弄乱我的网站样式。
我的解决方案是创建两个包含打开和关闭UL标记的变量,然后建立if statementz,一旦while循环迭代一次,就将变量值放到一个空字符串中......好吧没有工作:
$ulStart='<ul class="grid cs-style-6">';
$ulEnd='</ul>';
$checkIteration=0;
$checkIteration2=0;
while($row=mysqli_fetch_array($result))
{
if($checkIteration>0){
$ulStart='';
$checkIteration++;
}
if($checkIteration2>0){
$ulEnd='';
$checkIteration2++;
}
$fd= $fd.$ulStart.'<li>
<figure>
<img src="fakedir/someimageregular-'.$somestuff.'.png">
<figcaption>
<h3>'.$fake.'</h3>
<span>'.$fake_var.'</span>
<a id="demo01" href="#animatedModal">Take a look</a>
</figcaption>
</figure>
</li>'.$ulEnd;
}
关于如何实现这一目标的任何想法?我会非常感谢您对此有任何帮助!谢谢!
答案 0 :(得分:1)
$fd = "";
$fd .='<ul class="grid cs-style-6">';
while($row=mysqli_fetch_array($result))
{
$fd .='<li>
<figure>
<img src="fakedir/someimageregular-'.$somestuff.'.png">
<figcaption>
<h3>'.$fake.'</h3>
<span>'.$fake_var.'</span>
<a id="demo01" href="#animatedModal">Take a look</a>
</figcaption>
</figure>
</li>'
}
$fd .='</ul>';
echo $fd;
echo
的{p> echo '<ul class="grid cs-style-6">';
已经生成<ul>
的结束标记,即</ul>
。这些东西的最佳选择是,将整个html保存在变量中,然后在循环结束后回显html。
答案 1 :(得分:0)
你好试试下面的代码可能对你有帮助。
ul
我认为你没有必要在这里写一个ul里面的循环关闭后我在loop.before循环打开ul标签之外写了ul。如果你需要.container-of-3 {
display: table;
}
.container-of-3 > div{
width: 33.33333333333%;
display:table-cell;
height: 100%;
padding-bottom: 20px;
position: relative;
}
标记,那么就不需要写入循环。我希望它对你有所帮助。
答案 2 :(得分:0)
如果您希望<ul>
位于同一个echo语句中,您可以这样做:
$fd = "";
while($row=mysqli_fetch_array($result))
{
$fd .='<li>
<figure>
<img src="fakedir/someimageregular-'.$somestuff.'.png">
<figcaption>
<h3>'.$fake.'</h3>
<span>'.$fake_var.'</span>
<a id="demo01" href="#animatedModal">Take a look</a>
</figcaption>
</figure>
</li>'
}
echo '<ul class="grid cs-style-6">' . $fd . '</ul>';
但这与Dinesh Bhojvani的答案几乎相同,所以我不确定它会有所帮助。