问题:
我正在尝试使用 ul 和 li 元素将 SQL 中的相关帖子相互分组。但是,我被卡住了,因为我无法得到正确的输出。
PHP代码(第一级):
$query = "SELECT CID, Item AS Name, Parent, Weight FROM betyg_category";
$result = mysql_query($query) or die ('Error (' . mysql_errno() . ') ' . mysql_error());
$ctree .= '<ul>';
while ($row = mysql_fetch_assoc($result))
{
$ctree .= '<li class="category">'.$row['Name'] . '';
$ctree .= getLowerRanks($row['CID'], 1, true);
}
$ctree .= '</li></ul>';
echo $ctree;
PHP中的递归函数:
function getLowerRanks( $id, $level, $option = false )
{
if ( $option )
{
$response = '';
$query = "SELECT CID, Item AS Name, Parent, Weight FROM betyg_category WHERE Status = 1 AND Parent= " . $id . " ORDER BY CID ASC";
$result = mysql_query($query) or die ('Error (' . mysql_errno() . ') ' . mysql_error());
$response .= '<ul>';
while ($row = mysql_fetch_assoc($result))
{
for ($i = 0; $i < ($level-1); $i++) $response .= ' ';
$response .= '<li class="category"> '.$row['Name'] . '</li>';
$response .= getLowerRanks($row['CID'],$level+1, true);
}
$response .= '</ul>';
}
return $response;
}
期望的输出:
<ul>
<li class="category">Litteratur
<ul>
<li class="category"> Integration av källorna</li>
<li class="category"> Belysning av egna resultat</li>
<li class="category"> Referenser</li>
</ul>
</li>
<li class="category">Validitet
<ul>
<li class="category"> Huvudsyfte</li>
<li class="category"> Oberoende och beroende variabler</li>
<li class="category"> Analysmetoderna</li>
</ul>
</li>
<li class="category">Reliabilitet
<ul>
<li class="category"> Metodval</li>
<li class="category"> Metodbeskrivning</li>
<li class="category"> Databearbetning</li>
</ul>
</li>
<li class="category">Språk, stil och struktur
<ul>
<li class="category"> Språk och stil</li>
<li class="category"> Struktur</li>
</ul>
</li>
<li class="category">Arbetssätt
<ul>
<li class="category"> Försvar och opposition</li>
<li class="category"> Etiska och samhälleliga aspekter</li>
</ul>
</li>
</ul>