每个ul显示四个li,不按要求返回结果

时间:2014-07-04 06:40:12

标签: php html list dynamic

我希望动态显示<ul><li>

<ul>
  <li></li>
  </li></li>
  <li></li>
  <li></li>
</ul>

<ul>
  <li></li>
  </li></li>
  <li></li>
  <li></li>
</ul>

即每个<ul>有4 <li> s。

我想动态显示这些内容。我尝试使用以下代码:

$i=0;
foreach($query->result() as $inboxresult)
{
        if($inboxquery->num_rows()>0)
        {
            if($i%4==0)
            {
                echo '<ul class="msgdisplayul item">';
            }
            $parentid=$inboxresult->id;
            echo '<li class="msgdisplayli">
             <div class="msgfullarea">
               <div class="displyusrimge">
                   <input type="hidden" id="status'.$inboxresult->id.'">
                   <a href="">';
                    echo '<img src="'.base_url().'images/friend_avatar_default.jpg" alt="Default User Avatar" />';
                    echo '</a>
                </div> 
             </div>
             <div class="clear"></div>
             </li>'; 
             if($i%4==0 && $i!=0)
             {
                echo '</ul>';
             }          
        }
        $i++;
}

这是返回结果,如下所示:

<ul class="msgdisplayul item">
  <li class="msgdisplayli">
    <div class="msgfullarea">
        <div class="displyusrimge">
            <input type="hidden" id="status10">
            <a href=""><img src="http://localhost:8080/workspace/project/images/friend_avatar_default.jpg" alt=" Default User Avatar"></a>
        </div>
    </div>
    <div class="clear"></div>
   </li>
   <li class="msgdisplayli">
     <div class="msgfullarea">
         <div class="displyusrimge">
             <input type="hidden" id="status7">
              <a href=""><img src="http://localhost:8080/workspace/project/images/friend_avatar_default.jpg" alt=" Default User Avatar"></a>
          </div>
    </div>
    <div class="clear"></div>
  </li>
  <ul class="msgdisplayul item"><li class="msgdisplayli">
    <div class="msgfullarea">
        <div class="displyusrimge">
            <input type="hidden" id="status1">
            <a href=""><img src="http://localhost:8080/workspace/project/images/friend_avatar_default.jpg" alt="Default User Avatar"></a>
         </div>
    </div>
    <div class="clear"></div>
   </li>
   </ul>
</ul>

有人可以帮我解决这个问题吗?提前谢谢。

1 个答案:

答案 0 :(得分:0)

当你不应该增加$ i时...当你不打印li元素时,你不应该增加$ i:

$i = 0;
foreach ($query->result() as $inboxresult)
{
        if ($inboxquery->num_rows()>0)
        {
            if ($i % 4 == 0)
            {
                echo '<ul class="msgdisplayul item">';
            }
            $parentid = $inboxresult->id;
            echo '<li class="msgdisplayli">
             <div class="msgfullarea">
               <div class="displyusrimge">
                   <input type="hidden" id="status'.$inboxresult->id.'">
                   <a href="">';
                    echo '<img src="'.base_url().'images/friend_avatar_default.jpg" alt="Default User Avatar" />';
                    echo '</a>
                </div> 
             </div>
             <div class="clear"></div>
             </li>'; 
             // if you increment $i here, you don't need to worry if $i = 0 to close the ul
             $i++;
             if ($i % 4 == 0)
             {
                echo '</ul>';
             }          
        }
}

哦,混合逻辑与HTML输出,非常糟糕的主意; - )