다음은 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);
?>
분명히 사용자 이름, 암호, 호스트 및 데이터베이스에 대한 적절한 세부 정보를 입력해야합니다. 또한 원하는 데이터를 반환하도록 데이터에 대한 적절한 쿼리를 포함해야합니다. 의 라인을 따라 뭔가 (그리고 이것은 단지 추측이다); 열이 tablename
라는 테이블에서 타임 스탬프와 값 목록을 반환
SELECT `dateTimeTaken`, `reading` FROM `tablename`
는
dateTimeTaken
및
reading
했다. 그런 다음 json 파일을 읽을 때 json에서 읽는 코드에 대해 다음 구문을 사용합니다.
d3.json("getdata.php", function(error, data) {
바라건대 그게 당신이 찾고있는 것입니다. 나는 그것을 로컬에서 테스트했고 모두 작동하는 것 같습니다.
간단한 WAMP 서버를 로컬 설치하고 d3.js에서 MySQL 데이터베이스에 대한 쿼리를 설정하는 게시물을 함께 작성했습니다 http://www.d3noob.org/2013/02/using-mysql-database-as-source-of-data.html
이 꽤 많이 나는로 json_encode 대신 내 자신의 코드를 작성 결국 내가로 json_encode에 문제 나 자신을 직면 Accessing MySQL database in d3 visualization
무엇부터 시작 하시겠습니까? – BaRd
이것이 의미가 없다면 MySQL에서 수동으로 .csv 파일로 데이터를 내보내거나 (phpmysqladmin에이 옵션이 있거나 명령 줄에서 수행 할 수 있음) D3에 데이터를 직접로드 할 수 있습니다. CSV 로딩 도구. 또는 탭을 구분 기호로 사용하여 내보내는 경우 D3 "tsv"가져 오기를 사용하십시오.) 역동적 인 것은 아니지만, 완전히 새로운 프레임 워크를 배우기 위해 뒤로 물러나는 것보다 훨씬 빨리 일어나서 실행할 수 있습니다. –
@ChrisWilson 데이터베이스에 직접 액세스 할 수 없으며이를 실시간 시각화에 사용합니다. – BaRd