MySQL
で視覚化したいデータベースがありますD3.JS
。そのためには、まずparse
データをJSON
フォーマットしてから、データベースからデータを取得して視覚化する基本的なコードを記述しますD3.JS
。周りを見回しましたが、初心者なので欲しいものが見つかりませんでしたD3.JS
。
どうすればそれを達成できますか?助けや手がかりをいただければ幸いです。
MySQL
で視覚化したいデータベースがありますD3.JS
。そのためには、まずparse
データをJSON
フォーマットしてから、データベースからデータを取得して視覚化する基本的なコードを記述しますD3.JS
。周りを見回しましたが、初心者なので欲しいものが見つかりませんでしたD3.JS
。
どうすればそれを達成できますか?助けや手がかりをいただければ幸いです。
以下は、D3 コードを含む HTML ファイルからアクセス可能なファイル (「getdata.php」としましょう) としてどこかに保存できる php スクリプトです。呼び出されると、MySQL データベースからのデータが json 形式で返されます (データベース サーバーがドメイン外にない限り)。
<?php
$username = "******";
$password = "******";
$host = "******";
$database="***dbase_name***";
$server = mysql_connect($host, $user, $password);
$connection = mysql_select_db($database, $server);
$myquery = "
query here
";
$query = mysql_query($myquery);
if ( ! $query ) {
echo mysql_error();
die;
}
$data = array();
for ($x = 0; $x < mysql_num_rows($query); $x++) {
$data[] = mysql_fetch_assoc($query);
}
echo json_encode($data);
mysql_close($server);
?>
明らかに、ユーザー名、パスワード、ホスト、およびデータベースの適切な詳細を入力する必要があります。また、探しているものが返されるように、データに適切なクエリを含める必要があります。次のようなものです (これは推測にすぎません)。
SELECT `dateTimeTaken`, `reading` FROM `tablename`
tablename
と呼ばれる列で呼び出さdateTimeTaken
れたテーブルからタイムスタンプと値のリストを返しますreading
。次に、json ファイルを読み込むときは、json を読み込むコードに次の構文を使用します。
d3.json("getdata.php", function(error, data) {
うまくいけば、それはあなたが探しているものに近いです. 私はそれをローカルでテストしましたが、すべてうまくいくようです..
シンプルな WAMP サーバーのローカル インストールと、d3.js からの MySQL データベースへのクエリのセットアップについて説明する投稿をまとめました。 -as-source-of-data.html
これは、d3 ビジュアライゼーションでの MySQL データベースへのアクセスとほぼ同じ状況です。
簡単な答え: Web サービス。
基本的に、json データ (たとえば) を返してd3.json()
呼び出しに接続する Web サービスを作成する必要があります。
Python を使用して拡張をすばやく行うか、 web2pySimpleHTTPServer
などの Web サービス フレームワークを使用することをお勧めします。
私の知る限り、javascriptがMySQLデータベースに直接接続できるようにするライブラリはありません。代わりに、Web サービスを介してデータを公開することを検討し (任意の数のサーバー側テクノロジ (ASP.Net、PHP、Ruby on Rails など) を使用)、応答でデータを JSON にシリアル化します。
I have faced problem myself with json_encode, in the end I wrote my own code instead of json_encode. Just you need to set the sql and yoru connection info. Hope you find it useful.
$conn = new mysqli(DB_Host, DB_User, DB_Password, DB_Name) or die("Connection failed: " . $conn->connect_error);
$sql = "select AID as id, deDate_Value as date, nterTime AS counter
from xxxx";
//Get the Date and store it in array
$records = array();
if ( $result=mysqli_query($conn,$sql) )
while ( $obj=mysqli_fetch_object($result) )
$records[] = $obj;
//echo in json format on screen
echo "[";
$comma_1 = "";
foreach($records as $obj)
{
echo $comma_1."{";
$comma_2 = "";
foreach($obj as $key => $value)
{
echo $comma_2.'"'.$key."\": \"". $value . "\"";
$comma_2 = ", ";
}
echo "}";
$comma_1 = ", \n";
}
d3.json を機能させるには、次のように呼び出す必要がありました (私の PHP ファイルは JSON データを生成します)。
d3.json("InventoryData.php").then(function(data){
console.log(data);
});