簡體   English   中英

平板到樹視圖

[英]Flat table to tree view

在此處輸入圖片說明 我在數據庫中獲得了一個Post表(對於基於樹的論壇系統),所有帖子都是Topic的子級 (您可以在示例中看到topicId為79的字段),我要做的是選擇所有具有topicId 79的行(在此示例中)

所以現在,我收到了主題79的所有帖子,您可以看到parentId字段。 如果該帖子回復主題,則該值為NULL,否則,該帖子是另一個帖子的子代,因此具有父帖子的ID。

現在,正如我所說的,我擁有主題#79的所有行,並且需要以樹狀視圖顯示它們

最好的方法是什么?

順便說一句,我正在使用由Yii Framework提供支持的PHP + MySQL(並且不想使用zii小部件)

謝謝您的幫助

答案是遞歸。

1.首先,有一個循環,獲取所有“父母帖子”(parentId = null的帖子)。

2.對於每個“父帖子”,都會調用一個遞歸函數,該函數將打印該帖子的詳細信息,並為其子帖子自動調用。

我沒有檢查代碼,但這是將幫助您解決問題的主要概念。

function build_tree_child($post_id,$level=0)
{
 $post = get_post_byId($post_id);
 foreach($i = 0; $i <$level;$i++) echo "&nbsp;"; //Simple trick to make it LOOK like a tree
 echo $post['title'];

 $q = mysql_query("SELECT * FROM posts WHERE parentId='$post_id'");
 while($childs = mysql_fetch_array($q))
  build_tree_child($child['id'] , $level++);

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM