我想将数据库中的数据查询到json数组中,该数组在javascript中产生强制定向图。这是Json数组在最终结果中的样子。但是,节点可以有多个邻接或没有,我如何查询邻接部分在不同节点之间变化的json数组,并且能够根据节点的邻接数量进行调整?
Var JSON =[
{
"adjacencies": [
{
"nodeTo": "graphnode9",
"nodeFrom": "graphnode5",
"data": {}
}
],
"data": {
"$color": "#416D9C",
"$type": "star"
},
"id": "graphnode5",
"name": "graphnode5"
},
];
这是我到目前为止的尝试,但是这只会产生一个只允许一个邻接的json,如何设置一个Json查询来调整一个节点所具有的邻接数,而不是将自己限制为只有一个数组形式还是数组结构?
这是我的数据库结构
nodes Relationships
----- -------------
id int(11), id int(11),
name varchar(35), to int(11), //this is the destination node from the id relation
color varchar(7), data varchar(0) null
type varchar (12), Foreign key (id) references nodes(id)
Primary key (id)
engine = innodb
这是我的尝试
function getjson()
{
$db = adodbConnect();
$query = "SELECT nodes.*, relationships.* FROM nodes LEFT JOIN relationships ON nodes.id = relationships.id";
$result = $db -> Execute($query);
$count=$result->RowCount();
$row=$result->FetchRow();
$array= array[];
while ($row)
{
$id= $row['id'];
$name = $row['name'];
$color1 = $row['color'];
$type1 = $row['type'];
$to=$row['to'];
$array = [$id,$name,$color1,$type1,$to];
}
json_encode($array)
}