Maison  >  Article  >  développement back-end  >  如何实现树节点的增删改?

如何实现树节点的增删改?

WBOY
WBOYoriginal
2016-06-23 13:55:431176parcourir

数据库为MySQL,数据表结构如下:
id      type      name      parentid
1        0          service         0
101   82         data             0    
102   82         card            101
103   82         search       101
104   82          web           102
105   83          task           103
    parentid为0表示是顶级。用PHP该如何实现该数据表的配置页面呢?


回复讨论(解决方案)

你先想好展示的样式

你先想好展示的样式


样式不重要,能实现树节点的增删改就成。斑竹大人有推荐的插件咩?

你最好把样式显示出来,这样就知道节点怎么获取节点值,
思路是:点击节点,通过js把值传递到服务端,服务端操作数据库。

用ztree

数据量不大的话不建议用插件,以免造成项目结构混乱。核心是递归思想。

function dafenglei_arr($m,$id){	global $class_arr;	global $classid;	global $mysql;	if($id=="") $id=0;	$n = str_pad('',$m,'-',STR_PAD_RIGHT);	$n = str_replace("-","  ",$n);	for($i=0;$i<count($class_arr);$i++){		if($class_arr[$i][2]==$id){		echo "<tr>\n";		echo "	  <td>".$n."|----<a href=\"?action=edit&id=".$class_arr[$i][0]."\">".$class_arr[$i][1]."</a></td>\n";		echo "	  <td><div align=\"center\">".$class_arr[$i][3]."</div></td>\n";		echo "	  <td><div align=\"center\"><a href=\"?action=edit&id=".$class_arr[$i][0]."\">修改</a>";		echo " <a href=\"?action=del&id=".$class_arr[$i][0]."\">删除</a>";		echo "</div></td>\n";		echo "	</tr>\n";					dafenglei_arr($m+1,$class_arr[$i][0]);		}		}}

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn