【问题标题】:fetch records from databse and generate tree automatically从数据库中获取记录并自动生成树
【发布时间】:2012-12-06 20:29:54
【问题描述】:

我有三张桌子:

部门:

名称:

部门名称:

DesignationIDReportTo是表名称的外键,表示特定名称报告给特定名称。即经理(这是指定)向CEO报告(也是指定)

现在我想生成一棵树,比如...

我手动输入条目以显示上面的树。即

现在我的问题是,我无法以自动生成此树的方式编写函数。

简而言之,从数据库中获取记录后,我想生成如上图所示的树。

任何解决方案?

注意:树的等级不是固定的,树的等级可能是无限的

【问题讨论】:

  • 你能展示你到目前为止写的东西吗?

标签: java jquery database servlets logic


【解决方案1】:

它是 Java,因此您可以使该树尽可能深。

将查询与树的总体与 UI 渲染分开,您将没有问题。查询数据库,填充树并将其提供给 UI 进行渲染。

如果你试图将一个部分与另一个部分混合,你会遇到问题。

【讨论】:

    【解决方案2】:

    您可以使用Tree structure like this,然后从查询中填充它。

    然后,你会有不同的选择,例如:

    1) 您将树转换为 JSON 和 iterate it recursively with jQuery

    2) 您直接在 Java 中迭代它(递归地),构建输出服务器端(假设是一个包含您的 HTML 的大字符串)。然后你只需在页面中注入结果(由于服务器和客户端之间的耦合,不是那么好)

    等等……

    【讨论】:

      【解决方案3】:

      这里有一个提示。

      这是一棵树,您需要递归地遍历树项,直到 您达到叶级别以填充它,如中所述 @duffymo给出的答案你应该分开树种群的逻辑 来自您的查询。

      Link如果还是无法解决

      祝你好运:-)

      【讨论】:

      • 与上述场景相关的任何示例?
      • @ShahidGhafoor 看到我的编辑!并请在您的问题中添加一些代码。
      【解决方案4】:

      我认为你可以使用 php 来绘制这棵树。 例子。
      编写用于选择数据到行的连接查询 <li>
      while(!empty($row))
      {
      echo'<li><ul>$row[designation name]';
      while(!empty($next))
      {echo'<li><ul>$next[designation name]';
      //next sentence must be a select query }
      echo'</ul></li>'
      }
      echo'</ul><li>' }

      这不是你的答案,而是可以说明逻辑的提示。

      【讨论】:

        猜你喜欢
        • 2013-12-06
        • 1970-01-01
        • 2011-05-29
        • 2013-06-14
        • 2013-12-03
        • 2013-01-27
        • 1970-01-01
        • 1970-01-01
        • 2015-11-20
        相关资源
        最近更新 更多