在 mysql table 中按主键命名 cytoscape 的节点
name cytoscape's nodes by primary key in mysql table
我正在尝试使用基于 mysql
数据库的 cytoscape
显示网络,我有两个 table,一个包含名称(device_id
), ip
和 SN
表示网络中每个设备的序列号 (PK), 另一个有关系的信息: origin's SN
destiny's SN
, interface
和 port
.
我已经进行了这三个查询:
$query = 'SELECT * FROM dispositivos';
$result = mysql_query($query) or die('Consulta fallida: ' . mysql_error());
$numdispositivos = mysql_num_rows($result);
然后我尝试创建一个 for 循环以根据 table:
处的行数创建节点
var numerodispositivos = "<?php echo $numdispositivos; ?>";
使用这个循环即时绘图节点:
for (var i = 0; i < numerodispositivos; i++) {
cy.add({
data: { id: 'node' + i }
}
);
var source = 'node' + i;
cy.add({
data: {
id: 'edge' + i,
source: source,
target: (i % 2 == 0 ? 'a' : 'b')
}
});
我想用 "dispositivos" 的主键命名这些节点,但我不知道如何逐行遍历 table 或如何提取该信息。
有什么帮助吗?
提前致谢
您可以尝试使用在 php
中包含您的主键的数组,而不仅仅是行数(您需要指定您的主键是什么):
$j=0;
while ($row = mysql_fetch_array($result)) {
$primary_key = $row["PRIMARY_KEY"];
$php_array[$primary_key] = $j;
$j++;
}
$json_from_php = json_encode($php_array);
然后可以在 JS 中回显结果 JSON 数组(其中 i
是循环中的主键),允许您 运行 a for
循环,然后您可以从以下位置提取主键 strings/numbers:
var jsonArray = "<?php echo $json_from_php; ?>";
for (var i in jsonArray) {
cy.add({
data: { id: i }
}
);
var source = i;
cy.add({
data: {
id: i,
source: source,
target: (jsonArray[i] % 2 == 0 ? 'a' : 'b')
}
});
}
您可能还想移动到 mysqli
或 PDO
而不是 mysql
。
我正在尝试使用基于 mysql
数据库的 cytoscape
显示网络,我有两个 table,一个包含名称(device_id
), ip
和 SN
表示网络中每个设备的序列号 (PK), 另一个有关系的信息: origin's SN
destiny's SN
, interface
和 port
.
我已经进行了这三个查询:
$query = 'SELECT * FROM dispositivos';
$result = mysql_query($query) or die('Consulta fallida: ' . mysql_error());
$numdispositivos = mysql_num_rows($result);
然后我尝试创建一个 for 循环以根据 table:
处的行数创建节点 var numerodispositivos = "<?php echo $numdispositivos; ?>";
使用这个循环即时绘图节点:
for (var i = 0; i < numerodispositivos; i++) {
cy.add({
data: { id: 'node' + i }
}
);
var source = 'node' + i;
cy.add({
data: {
id: 'edge' + i,
source: source,
target: (i % 2 == 0 ? 'a' : 'b')
}
});
我想用 "dispositivos" 的主键命名这些节点,但我不知道如何逐行遍历 table 或如何提取该信息。
有什么帮助吗?
提前致谢
您可以尝试使用在 php
中包含您的主键的数组,而不仅仅是行数(您需要指定您的主键是什么):
$j=0;
while ($row = mysql_fetch_array($result)) {
$primary_key = $row["PRIMARY_KEY"];
$php_array[$primary_key] = $j;
$j++;
}
$json_from_php = json_encode($php_array);
然后可以在 JS 中回显结果 JSON 数组(其中 i
是循环中的主键),允许您 运行 a for
循环,然后您可以从以下位置提取主键 strings/numbers:
var jsonArray = "<?php echo $json_from_php; ?>";
for (var i in jsonArray) {
cy.add({
data: { id: i }
}
);
var source = i;
cy.add({
data: {
id: i,
source: source,
target: (jsonArray[i] % 2 == 0 ? 'a' : 'b')
}
});
}
您可能还想移动到 mysqli
或 PDO
而不是 mysql
。