php 實現無限級樹型可以實現再主菜單裡面有哪些二級才能。也可以開發留言板的時候擷取父評論下的子評論!這個就是實現無限級樹型的功能了!那麼我們話就不多說了。請看看下面資料庫的結構
CREATE TABLE `emlog_hudhf` ( `id` mediumint(10) unsigned NOT NULL AUTO_INCREMENT, `sslog` varchar(64) NOT NULL, `sid` varchar(64) NOT NULL, `s` varchar(64) NOT NULL, `z` varchar(64) NOT NULL, `n` text NOT NULL, `puser` varchar(64) NOT NULL, `buser` varchar(64) NOT NULL, PRIMARY KEY (`id`)) ENGINE=MyISAM AUTO_INCREMENT=128 DEFAULT CHARSET=utf8 AUTO_INCREMENT=128 ;-- -- 匯出表中的資料 `emlog_hudhf`--INSERT INTO `emlog_hudhf` VALUES (46, '5', '0', '1397957923', '0', '評論了說說啦!', '1', '1');INSERT INTO `emlog_hudhf` VALUES (82, '13', '0', '1398523128', '0', '什麼和什麼', '1', '1');INSERT INTO `emlog_hudhf` VALUES (48, '6', '0', '1397958405', '0', '你看評論啊', '257', '257');INSERT INTO `emlog_hudhf` VALUES (70, '8', '69', '1397983195', '0', '我又回複你了', '1', '1');INSERT INTO `emlog_hudhf` VALUES (117, '8', '66', '1398561020', '0', '我也回複你', '1', '497');INSERT INTO `emlog_hudhf` VALUES (66, '8', '0', '1397982730', '0', '我要評論你XXXXXXXXHappySky', '497', '1');INSERT INTO `emlog_hudhf` VALUES (68, '7', '0', '1397982850', '0', '測試評論功能 可以恢複不', '1', '497');INSERT INTO `emlog_hudhf` VALUES (69, '8', '65', '1397982864', '0', '回複“什麼呀”~~~~', '497', '1');INSERT INTO `emlog_hudhf` VALUES (120, '8', '0', '1398561155', '0', '我也評論一下自己的說說', '1', '1');INSERT INTO `emlog_hudhf` VALUES (121, '8', '0', '1398561255', '0', '說說', '1', '1');INSERT INTO `emlog_hudhf` VALUES (124, '8', '120', '1398561490', '0', '很好吧', '1', '1');INSERT INTO `emlog_hudhf` VALUES (123, '8', '66', '1398561328', '0', '去你媽媽個B', '1', '497');
這個是資料庫的圖片結構
然後思路是這樣的:sid為0的表示這個是父評論不是0就是子評論了!然後怎麼知道那個子評論是屬於那個父評論的呢?再sid不為0的話那麼就根據這個sid的值去查詢等於這個值得id看看下面的列子
INSERT INTO `emlog_hudhf` VALUES (120, '8', '0', '1398561155', '0', '我也評論一下自己的說說', '1', '1');INSERT INTO `emlog_hudhf` VALUES (124, '8', '120', '1398561490', '0', '很好吧', '1', '1');
第二條的sid等於第一條的id 那麼 這個二條的就是第一條的子評論了!
然後要怎麼輸出呢。當然首先要擷取你要輸出資料的sql語句
//這一段是意思呢。sslog 等於 這個變數whidi的值得資料 然後按最新插入來顯示出來$gg = mysql_query("SELECT * FROM ".DB_PREFIX."hudhf WHERE sslog = '".$whidi."' order by id desc");$data = array();while($rs = mysql_fetch_assoc($gg)){ $data[] = $rs;//這個是把他轉換成為數組後給另一個函數來輸出 }getTree($data, 0,$whidi,$whiuser);} echo getTree($data, 0); function getTree($data, $pId){$html = '';foreach($data as $k => $v){ if($v['cate_ParentId'] == $pId) { //父親找到兒子 $html .= "
然後這個就是結合html美化後的結果了