如何在 PHP 中偶尔回显 <ul> 标签循环


How do I echo an <ul> tag once in a while loop in PHP?

感谢您查看我的问题,我想做的是输出一次 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标签,则无需循环编写。 希望对您有所帮助。