Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将MySQL查询结果转换为分层数据-D3_Javascript_Php_Jquery_Json_D3.js - Fatal编程技术网

Javascript 将MySQL查询结果转换为分层数据-D3

Javascript 将MySQL查询结果转换为分层数据-D3,javascript,php,jquery,json,d3.js,Javascript,Php,Jquery,Json,D3.js,如上所述,我正在尝试使用d3绘制图表,其中我要求数据处于父子关系中,但我无法理解如何将MySQL查询结果转换为JSON父子格式 提供的帮助将非常感谢 我正在尝试复制以下URL中的图表: (单击分区以放大或缩小树) MySQL中的数据: Column1 Column2 Column3 First Top - 1500 First Child First Top 500 Se

如上所述,我正在尝试使用d3绘制图表,其中我要求数据处于父子关系中,但我无法理解如何将MySQL查询结果转换为JSON父子格式

提供的帮助将非常感谢

我正在尝试复制以下URL中的图表:

(单击分区以放大或缩小树)

MySQL中的数据:

Column1 Column2 Column3 First Top - 1500 First Child First Top 500 Second Child First Top 500 Third Child First Top 500 First Sub-Child First Child 250 First Sub-Child First Child 250 Second Sub-Child Second Child 250 Second Sub-Child Second Child 250 Third Sub-Child Third Child 250 Third Sub-Child Third Child 250 第1栏第2栏第3栏 第一名-1500 第一个孩子第一个500强 第二个孩子第一个500强 第三个孩子第一个500强 第一子代第一子代250 第一子代第一子代250 第二子代第二子代250 第二子代第二子代250 第三子弟第三子弟250 第三子弟第三子弟250 所需的数据格式:

{ "name": "First Top", "children": [ { "name": "First Child", "children": [ {"name": "First Sub-Child", "size": 250}, {"name": "First Sub-Child", "size": 250} ] }, { "name": "Second Child", "children": [ {"name": "Second Sub-Child", "size": 250}, {"name": "Second Sub-Child", "size": 250} ] }, { "name": "Third Child", "children": [ {"name": "Third Sub-Child", "size": 250}, {"name": "Third Sub-Child", "size": 250} ] } ] } { “名称”:“第一顶”, “儿童”:[ { “姓名”:“第一个孩子”, “儿童”:[ {“名称”:“第一个子项”,“大小”:250}, {“名称”:“第一个子项”,“大小”:250} ] }, { “姓名”:“第二个孩子”, “儿童”:[ {“名称”:“第二个子项”,“大小”:250}, {“名称”:“第二个子项”,“大小”:250} ] }, { “姓名”:“第三个孩子”, “儿童”:[ {“名称”:“第三个子项”,“大小”:250}, {“名称”:“第三个子项”,“大小”:250} ] } ] }
下面是一些伪代码,假设有一个层次结构:

  • 从数据库中获取父/子行(
    选择t1.parent,t1.item,树t1中的大小,树t2,其中t1.parent=t2.item
  • 循环浏览行:
    • 如果父项不同于上一个父项,并且设置了上一个父项:
      • 将对象推到阵列上
      • 启动一个新对象
    • 向对象添加子对象和大小
  • 将最后一个对象推到数组上
  • 获取根对象(其中父对象为null)
  • 使用根对象将对象编码为json;看
  • 输出json

您既没有给我们提供您所获得的数据的外观示例,也没有提供您想要将其转换为什么的示例。如果没有这些信息,我所能做的就是指向的文档,它允许您嵌套数据。大小似乎不在您的数据库中。你从哪里得到的?这只是一个样本数据。我知道有了这些数据,图表就不好看了。请帮助我如何将该样本数据转换为我粘贴的格式。您的样本数据没有包含在JSON中的所有数据。猜测一下,这样的样本数据就足够了。我对从MySQL查询数据毫无疑问。我只在将查询结果转换为所需的JSON格式时遇到了问题。