2010-08-21 5 views
4

JSON 및 jqPlot에 문제가 있습니다.Json 데이터를 jqPlot에로드 중

jQuery를 스크립트 :

$pdo = new PDO('mysql:host=localhost;dbname=gielda', 'root', ''); 
$pdo -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
$sql = $pdo -> prepare("SELECT data,kurs_odn FROM template WHERE nazwa=?"); 
$sql -> execute(array("ASSECOPOL")); 
$gielda = $sql->fetchAll(PDO::FETCH_ASSOC); 
echo json_encode($gielda); 

PHP 파일에서 결과는 다음과 같이이다 : 변수 줄에서

[{"data":"2010-08-19","kurs_odn":"55.75"},{"data":"2010-08-19","kurs_odn":"55.75"},{"data":"2010-08-19","kurs_odn":"55.75"},{"data":"2010-08-20","kurs_odn":"56.2"},{"data":"2010-08-20","kurs_odn":"56.2"},{"data":"2010-08-20","kurs_odn":"56.2"}] 

CONSOLE.LOG :

gielda.php에서

var line = [ ]; 
$(function(){ 
    $.getJSON('bin/gielda.php', function(data) { 
     $.each(data, function (index, value) { 
      line.push(["'"+data[index].data+"'",data[index].kurs_odn]);   
     }); 
     console.log(line); 
    }); 
    $.jqplot('chartdiv', [line], { 
     title :' Giełda', 
     axes : { 
      xaxis : { 
       renderer : $.jqplot.DateAxisRenderer 
      } 
     }, 
     series : [{ 
      lineWidth : 4, 
      markerOptions : { 
       style : 'square' 
      } 
     }] 
    }); 
}); 

PHP

[["'2010-08-19'", "55.75"], ["'2010-08-19'", "55.75"], ["'2010-08-19'", "55.75"], ["'2010-08-20'", "56.2"], ["'2010-08-20'", "56.2"], ["'2010-08-20'", "56.2"]] 

오류 : uncaught exception: [object Object]

답변

2

아마도 해결책을 찾았습니다. 첫 번째 $ .jqplot은 $ .getJSON 안에 있어야합니다. JavaScript에서 비동기 호출 코드를 잊어 버렸습니다.

내가 불필요하게 데이터 [인덱스]에 따옴표를 추가는

line.push(["'"+data[index].data+"'",data[index].kurs_odn]); 

를 .DATA하지만 (.kurs_odn 데이터 [인덱스])이 기본적으로 문자열이 있었다 렸기 때문에 번호를 추가했다. 이제 제대로 작동하는 것 같습니다.

관련 문제