感谢您查看我的问题,我想做的是输出一次 ul,但在 while 循环中让它的 li 元素正常循环,如果 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;
}
关于我如何实现这一目标的任何想法?我将非常感谢对此的任何帮助!谢谢!
$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
echo '<ul class="grid cs-style-6">';
将已经生成<ul>
的结束标记,即 </ul>
.最好的选择是,将整个 html 保存在一个变量中,然后在循环结束后回显 html。
如果您希望<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的回答几乎相同,所以我不确定它会有所帮助。
您好,请尝试以下代码,但愿它对您有所帮助。
$fd = "";
echo '<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>'
}
echo $fd;
echo '</ul>';
我认为你没有必要在这里写 ul 在循环内,我所做的在循环外写了 ul.在循环关闭之前打开 ul 标签。如果您需要ul
标签,则无需循环编写。 希望对您有所帮助。