2012-04-02 2 views
1

json 인코딩 방법을 찾는 데 어려움이 있습니다. 첫째, 데이터 배열을 보냅니다. 예를 들어 00:00-00:30이 제 php에서 javascript로 전송됩니다. 내가 디버그 경고 기능을 사용할 때, 나는Json 인코딩은 플롯을 사용하여 플롯 할 수 없습니다.

({'':"00:00-00:30", 1:"00:30-01:00", 2:"01:00-01:30", 3:"01:30-02:00", 4:"02:00-02:30", 5:"02:30-03:00", 6:"03:00-03:30", 7:"03:30-04:00", 8:"04:00-04:30", 9:"04:30-05:00"...})

내가 확실히하지 난 그냥 00:00-00:30을 보낼 수있는 이유의 순간 따옴표없이 JSON 인코딩에 휴식을 잃었어요를 볼 수 있습니다. 많은 감사합니다!

내 PHP 배열 코드 :

$sql="SELECT * FROM $tbl_name6 WHERE Month = '$test'"; 
$result=mysqli_query($link, $sql); 
$row_cnt = mysqli_num_rows($result); 
while ($row = mysqli_fetch_array($result)) 
{ 
$times = $row['Time']; 
$demand = $row['Demand']; 

$arraytime[$countdown] = $times; 
$arraydata[$countdown] = $demand; 
$countdown = $countdown + 1; 

} 

내 자바 스크립트 코드 :

$(function() { 
var graph = []; 
var power = <?php echo json_encode($arraydata);?>; 
var time = <?php echo json_encode($arraytime);?>; 
alert(time.toSource()); 
+0

아마도 배열 대신 문자열을 사용하십시오. – hakre

+0

내 $ arraydata []를 문자열로 변경한다는 의미입니까? – Eugene

+0

플로팅하기 전에 자바 스크립트에서이 데이터를 처리하기 때문에 배열을 자바 스크립트에 전달해야합니다. – Eugene

답변

1

당신은 같은 값을 당기는 "00 : 00-00 : 30"데이터베이스에서. 이 형식은 데이터베이스에 어떤 형식으로 저장됩니까? 나는 문자열 인 varchar를 추측하고 있습니다. 당신은 PHP 문자열을 얻고 데이터베이스 문자열을 json_encode하면 JavaScript 문자열을 얻을 수 있습니다 (따옴표로 묶음). 그리 놀라운 일은 아닙니다.

마지막 경기부터 시작하겠습니다. 어떤 값을 플롯에 전달 하시겠습니까? "00 : 00-00 : 30", "00 : 30-01 : 00"등 ... 파이 또는 막대 차트와 같은 카테고리입니까? xAxis에서 원하는 레이블입니까?

"전원"은 어떻게 생겼습니까? 이 숫자 값입니까?

1

최종 결과로 원하는 것이 무엇인지 명확하게 밝히지는 못했지만 날짜의 정렬을 원하는 것으로 추측합니다.

["00:30-01:00","01:00-01:30","01:30-02:00"] 

거기에서 당신은 날짜를 사용하여 실제 날짜 개체를 얻을 수있다() 함수 : 이것에

{"":"00:30-01:00","1":"01:00-01:30","2":"01:30-02:00"} 

: 그런 경우, 그것은이 변경됩니다 0으로 $ 카운트를 초기화 시도 문자열을 인수로 사용합니다.

관련 문제