求从mysql获取树状结构

问题描述

最近在做一个项目 我们是把页面上菜单存放到数据库 所以在加载页面要去读取这个树状结构 求大神给点代码实例

解决方案

1 使用代码进行递归2 使用mysql sql语句,你可以参考http://web.archive.org/web/20110606032941/http://dev.mysql.com/tech-resources/articles/hierarchical-data.html
解决方案二:
把数据表里的每一行读到后台,然后数据结构的方式建立一颗树。
解决方案三:
你需要的是在后台组装成树状的数据,一般用递归比如返回xml:package com.zyn.iteye;import java.util.ArrayList;import java.util.List;import org.dom4j.Document;import org.dom4j.DocumentHelper;import org.dom4j.Element;public class XmlTest {public class Menu{private String id;private String name;private String url;private String parentId;public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getUrl() {return url;}public void setUrl(String url) {this.url = url;}public String getParentId() {return parentId;}public void setParentId(String parentId) {this.parentId = parentId;}}public String getMenuXml(){Document document = DocumentHelper.createDocument(); String rootname = "menus"; Element root = document.addElement(rootname + "s");//添加根节点//假设根节点parentid为"0";addEle(root,"0");return document.asXML();}public void addEle(Element p,String pid){List<Menu> list = getMenuList(pid);for(Menu m:list){Element e = p.addElement("menu");e.setText(m.getName());e.setAttributeValue("url", m.getUrl());addEle(e,m.getId());}}public List<Menu> getMenuList(String parentId){List<Menu> list = new ArrayList<Menu> (); String sql = "select * from menu where parentId='"+parentId+"'";return list;}}

时间: 2024-09-20 05:32:58

求从mysql获取树状结构的相关文章

MySQL实现树状所有子节点查询的方法_Mysql

本文实例讲述了MySQL实现树状所有子节点查询的方法.分享给大家供大家参考,具体如下: 在Oracle 中我们知道有一个 Hierarchical Queries 通过CONNECT BY 我们可以方便的查了所有当前节点下的所有子节点.但很遗憾,在MySQL的目前版本中还没有对应的功能. 在MySQL中如果是有限的层次,比如我们事先如果可以确定这个树的最大深度是4, 那么所有节点为根的树的深度均不会超过4,则我们可以直接通过left join 来实现. 但很多时候我们无法控制树的深度.这时就需要

实现树状结构的两种方法

实现树状结构的两种方法1.递归法递归是指在函数中显式的调用它自身.利用递归法实现树状结构的特点是写入数据速度较快,显示速度较慢(在树的分支/层次较多的情况下尤其明显).适用与写入数据量大,树的结构复杂的情况下.数据结构(以mysql为例) 代码:--------------------------------------------------------------------------------CREATE TABLE `tree1` ( `id` tinyint(3) unsigned

用PHP程序实现树状结构的两种方法

程序 1.递归法 递归是指在函数中显式的调用它自身. 利用递归法实现树状结构的特点是写入数据速度较快,显示速度较慢(在树的分支/层次较多的情况下尤其明显).适用与写入数据量大,树的结构复杂的情况下. 数据结构(以mysql为例) 代码: CREATE TABLE `tree1` ( `id` tinyint(3) unsigned NOT NULL auto_increment, `parentid` tinyint(3) unsigned NOT NULL default '0', `topi

实现树状结构的两种方法_php基础

实现树状结构的两种方法 1.递归法递归是指在函数中显式的调用它自身.利用递归法实现树状结构的特点是写入数据速度较快,显示速度较慢(在树的分支/层次较多的情况下尤其明显).适用与写入数据量大,树的结构复杂的情况下.数据结构(以mysql为例) 代码:--------------------------------------------------------------------------------CREATE TABLE `tree1` (  `id` tinyint(3) unsign

php实现树状结构无级分类

实现树状结构的两种方法 1.递归法 递归是指在函数中显式的调用它自身. 利用递归法实现树状结构的特点是写入数据速度较快,显示速度较慢(在树的分支/层次较多的情况下尤其明显).适用与写入数据量大,树的结构复杂的情况下. 数据结构(以mysql为例) 代码:-------------------------------------------------------------------------------- CREATE TABLE `tree1` ( `id` tinyint(3) uns

关于bigeagle的树状结构存储过程的一点看法

存储过程 大鹰,关于你在精华区的树状结构存储过程的贴子的内容好像不对呀,我做了实验,只能取根帖,我改了一下,在query analyzer中可以,但在页面上只能显示出一部分,你帮忙看一下好吗             CREATE proc up_TopicList             @a_ForumID int ,  @a_intPageNo int , @a_intPageSize tinyint   as       declare @m_intRecordNumber int    

java json 数据转换-JAVA中如何将数据组装为json树状结构的数据

问题描述 JAVA中如何将数据组装为json树状结构的数据 我从数据库中查出的数据保存到一个集合List中,集合中是存的区域类Area.区域类的字段和数据库中结果的字段一样.图1中是我的数据库查询结果,想转行为json格式的树状结构.例如省-市-县这样的结构.就是图2的效果 图1: 图2: 弄了一天了还没出现,我太菜了.请大家帮帮忙 解决方案 要么你就自己纯拼字符串,要么就直接用fastjson这类json工具类直接转.只要类结构和json结构能对应,可以直接转就可以了. 解决方案二: 你定义一

父节点-树状结构展示采购单Treeview 第二季

问题描述 树状结构展示采购单Treeview 第二季 第一季没有得到答案,现在想到能否把父节点定义为 PO号,子节点为PO号+产品号,这样的话,每个子节点可以找到对应的父节点..请高手列出详细方案,在线死等. 解决方案 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim dt As New DataTable '模拟数据(要求按采购单排

复选框树状结构

问题描述 哪位大神能给个带复选框的树状结构啊...小弟拜求,小弟是初学者 解决方案 解决方案二:我这里有个dwz的树,你也可以看看dwz的API,看看树形效果解决方案三:<!--权限信息树形菜单显示--><br/><br/><divstyle="clear:both;"><h3>权限信息</h3><divstyle="float:left;display:block;margin:10px;over