PHP如何将特定类添加到while循环中的上一个回显<li> </li>

时间:2013-10-03 23:21:55

标签: php

在while循环中回显数据库中的结果,以便我可以立即回显其中的5个。 目前已将一个标准字符串放入循环中以进行测试。 <li>元素在其样式中具有border-bottom属性。 是否可以将最后一个结果回显(数字5)以使用另一个排除边界的类?

$i = 1;
while($i <= 5) {
    // On the 5th, change the class here to rule out the border-bottom.
    echo "<li>jQuery &amp;HTML5 audio player.</li>";
    $i++;
}

那么,在那里的某个地方,扔一个if语句? 抱歉。这可能非常简单,但这是漫长的一天

5 个答案:

答案 0 :(得分:2)

根据你的计数器,你不能在循环和输出中使用简单的检查吗?

<?php
    $i = 1;
    while($i <= 5)
    {
        if($i<5)
        {
            echo "<li>jQuery &amp;HTML5 audio player.</li>"; 
        }
        else
        {
            echo "<li class='fluffeh'>jQuery &amp;HTML5 audio player.</li>"; 
        }
        // On the 5th, change the class here to rule out the border-bottom.
        $i++;
    }       
?>

或者如果你想要每五个人不同,你可以这样做:

<?php
    $i = 1;
    while($i <= 10)
    {
        if($i%5!=0)
        {
            echo "<li>jQuery &amp;HTML5 audio player.</li>"; 
        }
        else
        {
            echo "<li class='fluffeh'>jQuery &amp;HTML5 audio player.</li>"; 
        }
        // On the 5th, change the class here to rule out the border-bottom.
        $i++;
    }       
?>

答案 1 :(得分:1)

<?php
$i = 1;
while($i <= 5){
    $class = "";
    if($i===5)
        $class = " class=\"last\"";
    echo "<li$class>jQuery &amp;HTML5 audio player.</li>"; // On the 5th, change the class here to rule out the border-bottom.
    $i++;
}
当然,对于一个封闭的问题,这是一个盲目的答案,如果你按照别人的答案提出建议,你会做得更好。

答案 2 :(得分:0)

不是总是使用数字5作为占位符,计算数组中的元素可能会更好,如果它是最后一个,则省略该行。

$elementsCount = count($elements);
for ($index = 0; $index < $elementsCount; ++$index) {
    $class = $index == $elementsCount - 1 ? 'lastElement' : 'standardElement';
    echo '
        <li class="', $class, '">', $elements[$index], '</li>';
}

答案 3 :(得分:0)

你已经有一个计数器,你的变量是$ i。当你达到第5个循环以结束循环时你计算知道的变量$ i。

此外,您可以将其用于if或其他语句,以便在第三个或第二个元素或其他内容中执行某些操作,例如,当$ i计数为4时,它应该输出其他类或执行其他功能或者其他功能。

你所要做的就是询问,当达到5循环时插入一个类:

<?php
  $class = null;
  $li_element = null;
  for($i=0;$i<=5;$i++)
  {
    if($i==5)
    {
      $class="last_element";
    }
    $li_element .= '<li '.$class.'>...</li>';
  }

  echo '<ul>'.$li_element.'</ul>';

答案 4 :(得分:0)

如果您不想在代码中添加太多行,您也可以执行以下操作:

$i = 1;
while ($i<= 5) {
    echo ($i < 5) ? "<li>jQuery &amp;HTML5 audio player.</li>" : "<li class='someclass'>jQuery &amp;HTML5 audio player.</li>";
    $i++;
}

成为“someclass”你想要应用于最后一个li的风格。