[英]Dynamic two level list php
我知道,這可能超級簡單,但是可能工作到很晚才停住了腦子……好吧。 這是我的PHP,它為我制作了兩個級別的動態列表。 http://robertr.pastebin.com/K2XvruPr
<?
$last = NULL;
$query = "SELECT s.id AS sect_id, s.name AS sect_name, s.alias AS sect_alias, c.name AS cat_name, c.alias AS cat_alias
FROM data_sections s, data_categories c
WHERE s.id = c.section_id
AND s.deleted = 0
AND c.deleted = 0";
echo "<ul>\n";
$result = mysql_query($query);
while($list = mysql_fetch_array($result)){
if($last!=$list['sect_name']) {
echo "<li>".$list['sect_name']."</li>\n";
$last = $list['sect_name'];
}
echo "<ul>";
echo "<li>".$list['cat_name']."</li>";
echo "</ul>\n";
}
echo "</ul>";
?>
視圖輸出上的所有內容看起來都不錯,但是源視圖卻不像我想要的。 robertr.pastebin.com/J7bPQeXj(在地址欄中復制粘貼)。
誰能幫助我理解,如何僅對所有類別一次而不是對每個類別制作這些第二級UL標簽。
謝謝!
快速修復UNTESTED
<?
$last = NULL;
$query = "SELECT s.id AS sect_id, s.name AS sect_name, s.alias AS sect_alias, c.name AS cat_name, c.alias AS cat_alias
FROM data_sections s, data_categories c
WHERE s.id = c.section_id
AND s.deleted = 0
AND c.deleted = 0";
echo "<ul>\n";
$result = mysql_query($query);
while($list = mysql_fetch_array($result)){
if($last!=$list['sect_name']) {
if ($last != null) echo "</ul>";
echo "<li>".$list['sect_name']."</li>\n";
$last = $list['sect_name'];
echo "<ul>";
}
echo "<li>".$list['cat_name']."</li>";
}
echo "</ul>\n";
echo "</ul>";
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.