【phpstudy】php 实现无限级树型示例演示

更新时间:2019-10-13    来源:留言    手机版     字体:

【www.bbyears.com--留言】


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');


 
这个是数据库的图片结构
 
QQ图片20140427155330.jpg 
然后思路是这样的: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美化后的结果了


word-spacing: 0px; display: block; white-space: normal; max-width: 600px; widows: 1; font-size-adjust: none; font-stretch: normal; background-color: rgb(250, 250, 250); -webkit-text-stroke-width: 0px;" title="点击查看原图" border="0" alt="QQ图片20140427160240.jpg" src="http://filesimg.111cn.net/php/upload/image/20150328/1427547553843767.jpg" width="606" height="612"/>

本文来源:http://www.bbyears.com/zhufuduanxin/72987.html