Назовите узлы cytoscape по первичному ключу в таблице MySQL

Я пытаюсь отобразить сеть с помощью cytoscape основанный на mysql база данных, у меня есть две таблицы, одна содержит имя (device_id), ip а также SN это означает серийный номер (PK) каждого устройства в сети, у другого есть информация об отношении: origin's SNdestiny's SN, interface а также port,

Я сделал эти три запроса:

$query = 'SELECT * FROM dispositivos';
$result = mysql_query($query) or die('Consulta fallida: ' . mysql_error());
$numdispositivos = mysql_num_rows($result);

Затем я попытался создать цикл for для создания узлов на основе количества строк в таблице:

 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", но я не знаю, как перебирать таблицу строка за строкой или как извлечь эту информацию.

Любая помощь?

заранее спасибо

1 ответ

Решение

Вы можете попробовать использовать массив, который включает ваш первичный ключ в 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);

Полученный массив JSON может затем быть выведен в JS (где i является вашим основным ключом в цикле), позволяя вам запустить for Цикл, из которого вы можете получить строки / числа первичного ключа из:

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,

Другие вопросы по тегам