【问题标题】:creating a php array and then convert to a javascript array using MySQL data创建一个 php 数组,然后使用 MySQL 数据转换为 javascript 数组
【发布时间】:2019-05-08 21:17:04
【问题描述】:

我正在尝试使用 MySQL 数据库中的数据创建一个数组,这是使用 treant js 创建一个数据树(我能找到的最佳方法),我得出的结论是我必须首先在 php 中创建数组然后 json_encode() 它以使其正常运行。我的问题是如何使用以下格式制作 php 数组以及如何使用 json_enconde 进行转换?

构建数据树的 javascript 代码如下:

 Array approach
var config = {
    container: "#collapsable-example",

    animateOnInit: true,

    node: {
        collapsable: true
    },
    animation: {
        nodeAnimation: "easeOutBounce",
        nodeSpeed: 700,
        connectorsAnimation: "bounce",
        connectorsSpeed: 700
    }
},
malory = {
    image: "img/malory.png"
},

lana = {
    parent: malory,
    image: "img/lana.png"
}

figgs = {
    parent: lana,
    image: "img/figgs.png"
}

sterling = {
    parent: malory,
    childrenDropLevel: 1,
    image: "img/sterling.png"
},

woodhouse = {
    parent: sterling,
    image: "img/woodhouse.png"
},

pseudo = {
    parent: malory,
    pseudo: true
},

cheryl = {
    parent: pseudo,
    image: "img/cheryl.png"
},

pam = {
    parent: pseudo,
    image: "img/pam.png"
},

chart_config = [config, malory, lana, figgs, sterling, woodhouse, pseudo, pam, cheryl];

提前致谢

【问题讨论】:

  • 首先你需要正确拼写函数json_encode()
  • 第二个是对象而不是数组(chart_config 是数组)。这里有一个提示:$config = new stdClass(); 发布问题时,您需要实际发布您尝试过的代码以及您遇到的错误。
  • 当你可以直接声明一个对象数组时,定义一整堆变量然后将它们组装成一个数组真的没有意义。

标签: javascript php mysql arrays database


【解决方案1】:

由于您没有告诉我们有关您的 mysql 数据的任何信息,我只能告诉您,与您在上面显示的数组等效的 php 将是(部分):

$woodhouse = [
    'parent' => $sterling,
    'image' => 'img/woodhouse.png',
},

json_encode 然后将为woodhouse 创建如下所示的JSON:

{
    parent: {
        parent: { /* malory data here */ },
        childrenDropLevel: 1,
        image: "img/sterling.png"
    },
    image: "img/woodhouse.png"
},

要认识到的重要一点是原始中的stirling 对象也是递归编码的。 JSON 不支持示例中的对象引用。

我怀疑(但不能真正知道)您实际需要创建的 JSON 看起来更像来自您的数据库的数据 - 包括每个人的 id 和包含该 id 的“父”字段父母,而不是参考。

一旦数据通过网络传输,您就可以在 javascript 客户端中创建带有引用的结构。

【讨论】:

  • 另外,Archer:1999 即将推出!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-03
  • 2018-12-16
  • 1970-01-01
相关资源
最近更新 更多