我在我的项目中使用Google Orgchart。因为我从PHP文件返回JSON OBJECT
。
问题
我的问题是当我对值进行硬编码时,它运行正常。当我从PHP文件返回数据时。那没起效。我想从PHP文件返回的数据格式不正确。文件如下。
$result = mysql_query("SELECT * FROM emp");
while($row = mysql_fetch_array( $result )) {
$arr1 = array(
'v' => $row['name'],
'f' => $row['name']+'<div style="color:red; font-style:italic">President</div>',
'' => $row['rep'],
'' => $row['des'],
);
array_push($dataarray, $arr1);
}
echo json_encode($dataarray);
返回如下所示的对象
应该如何
我的下面的JSON OBJECT
[
[{v:'Prabhkar', f:'Prabhkar<div style="color:red; font-style:italic">President</div>'},
'', 'The President'],
[{v:'Raguram', f:'Raguram<div style="color:red; font-style:italic">GM</div>'},
'Prabhkar', 'GM']
]
下面的控制台截图:
我是否需要在PHP文件中再创建一个数组。我怎么想根据上面的截图更改PHP数组。对不起我的英语不好。谢谢。
答案 0 :(得分:2)
你需要在数组中包装'v'和'f',然后将其他值推送到父数组。
$result = mysql_query("SELECT * FROM emp");
while($row = mysql_fetch_array( $result )) {
$arr1 = array(
array(
'v' => $row['name'],
'f' => $row['name'] . '<div style="color:red; font-style:italic">President</div>'
),
$row['rep'],
$row['des']
);
array_push($dataarray, $arr1);
}
echo json_encode($dataarray);
答案 1 :(得分:1)
您的内部结构错误。您的内部结构是一个数组,第一个是地图,后跟两个值。您当前的实现是一个数组,只有一个地图。
$result = mysql_query("SELECT * FROM emp");
while($row = mysql_fetch_array( $result )) {
$arr1 = array(
array(
'v' => $row['name'],
'f' => $row['name'] . '<div style="color:red; font-style:italic">President</div>',
),
$row['rep'],
$row['des']);
array_push($dataarray, $arr1);
}
echo json_encode($dataarray);
答案 2 :(得分:1)
在你的硬编码数组中,第一个键里面有一个数组,所以你必须像这样更改你的代码
$result = mysql_query("SELECT * FROM emp");
$dataarray = [];
while($row = mysql_fetch_array( $result )) {
$arr1 = array(
array(
'v'=> $row['name'],
'f' => $row['name'].'<div style="color:red; font-style:italic">President</div>',),
$row['rep'],
$row['des'],
);
array_push($dataarray, $arr1);
}
echo json_encode($dataarray);