在PHP中生成<li>时,我的<ul>消失了吗?</li> </ul>

时间:2014-09-10 16:14:42

标签: php html

我有一个奇怪的错误,当我在其中生成LI标签时,我的UL标签消失了,我不知道它可能是什么,所以如果有人在这里可以帮助我那将是伟大的。

它生成的HTML:

<div class="col-md-12 col-xs-12">
    <div id="tickets">
        <ul>'.$Ticket->generateTickets().'</ul>
    </div>
</div>

我的PHP功能

public function generateTickets(){
    $cols = Array ('ID','description','ticket_id');
    $items = $this->db->orderBy('ID')->get("tickets", null, $cols);
    if ($this->db->count > 0){
        foreach ($items as $item) { 
            echo '<li><a href="?p=support&action=readticket&tid='.$item['ID'].'">Ticket #'.$item['ticket_id'].'<br/></a>
            <p>'.substr($item['description'],0,20).'..</p>
            </li>';
        }
    }
}

控制台显示ul刚刚消失: http://piclair.com/r45q7

1 个答案:

答案 0 :(得分:4)

在您的generateTickets函数中,您会立即回显。由于html文件中的串联是在函数完成后完成的,因此它们首先得到输出。你应该返回值(用echo替换return并将其移出循环)或在html中,不要连接字符串。

$result = '';
foreach ( $items as $item ) {
    $result .= '<li ...';
}
return $result;