1

サンプル @ https://gist.github.com/mbostock/1044242のようなデータを視覚化したいと思います。

ただし、SQL DB から取得した値からそうしたいと考えています。DB は現在、 http://msftdbprodsamples.codeplex.com/releases/view/97636から派生したオリンピックに関連するサンプル データを保持しています。その中に4つのテーブルがあります。例を説明すると、テーブル「メダリスト」の行は、テーブル「スポーツ」および「規律」に関連付けられています。

上記のリンクの「readme-flare-imports.json」に近いものは何も生成しないため、Eclipse 経由で d3.js によって読み取られるように、JSON でデータをフォーマットする PHP スクリプトを作成する必要があることはわかっています。次の私の試みを見てください(私はそれが受け入れられるとはほど遠いことを知っています)

試み:

<?php
    $db_host    = "localhost";
    $db_user    = "root";
    $password   = "password";
    $database   = "olympics";

    $conn       = @mysqli_connect ($db_host, $db_user, $password, $database);

    if (! $conn) {
        trigger_error('Could not connect to MySQL: ' . mysqli_connect_error());
    }

    $data       = array();
    $myquery    = "SELECT * from medalist";
    $result     = mysqli_query ($conn, $myquery);

    while ($row = mysqli_fetch_array ($result)) {   //fetch row instead of entire objs
        $medalistID = $row ['medalistID'];
        $edition    = $row ['edition'];
        $athlete    = $row ['athlete'];
        $noc        = $row ['noc'];
        $gender     = $row ['gender'];
        $event      = $row ['event'];
        $medal      = $row ['medal'];
        $season     = $row ['season'];
        $medalValue = $row ['medalValue'];
        $sportID    = $row ['sportID'];
        $disciplineID   = $row ['disciplineID'];

        echo '{"medalistID":'.json_encode($medalistID).'}';
        echo '{"edition":'.json_encode($edition).'}';       
        echo '{"athlete":'.json_encode($athlete).'}';
        echo '{"noc":'.json_encode($noc).'}';
        echo '{"gender":'.json_encode($gender).'}';
        echo '{"event":'.json_encode($event).'}';
        echo '{"medal":'.json_encode($medal).'}';
        echo '{"season":'.json_encode($season).'}';
        echo '{"medalValue":'.json_encode($medalValue).'}';
        echo '{"sportID":'.json_encode($sportID).'}';
        echo '{"disciplineID":'.json_encode($disciplineID).'},<br>';

        $data[] = array ('medalistID'   => $medalistID,
                 'edition'  => $edition,
                 'athlete'  => $athlete,
                 'noc'      => $noc,
                 'gender'   => $gender,
                 'event'    => $event,
                 'medal'    => $medal,
                 'season'   => $season,
                 'medalValue'   => $medalValue,
                 'sportID'  => $sportID,
                 'disciplineID' => $disciplineID);              
    }
    $fp = fopen ('sample_Olympics.json', 'w');
    fwrite ($fp, json_encode ($data));
    fclose ($fp);   

    mysqli_close ($conn);
?>

私の質問は次のとおりです。-上記のリンクと私の試みを参照して、コードを変更して「sample_Olympics.json」を正しく表示するにはどうすればよいですか? DB に関係する階層があるかどうかはわかりませんが、放射状収束図の次に見つけられるのは階層エッジ バンドリングです。

4

0 に答える 0