2016-06-21 2 views
0

MySQL + PHP + Morris.js를 사용하여 일부 선 그래프를 생성합니다. 나는 문제가 점점가 있어요 그러나MySQL + PHP + Morris.js로 라인 그래프 생성

{"period": "2014 Q3", "A": 75, "B": 77, "C": 79}, 
{"period": "2014 Q2", "A": 85, "B": 87, "C": 89}, 
{"period": "2014 Q1", "A": 93, "B": 95, "C": 97} 

:

morris.js line graph

I 데이터가 morris.js 그래프를 생성하는 아래를 위해 같이해야 이해 : 나는 결과 그래프는 다음과 같이 할 PHP + MySQL을 사용하여이 형식으로 변환합니다.

내 데이터베이스 구조는 다음과 같습니다.

table1: numbers 
ID | name | time | number 
------+------+------+--- 
1 | A | 1 | 75 
2 | A | 2 | 77 
3 | A | 3 | 79 
4 | B | 1 | 85 
5 | B | 2 | 87 
6 | B | 3 | 89 
7 | C | 1 | 93 
8 | C | 2 | 95 
9 | C | 3 | 97 


table2: times 
ID | time 
----+------ 
1 | 2014 Q1 
2 | 2014 Q2 
3 | 2014 Q3 

형식을 얻는 방법이 있습니까? morris.js? 아니면 다른 종류의 형식을 사용하여 그래프를 생성하는 다른 방법이 있습니까? 는 다행스럽게도 필자는 내 데이터베이스 :(

감사합니다 많이!의 구조를 변경할 필요가 없습니다

당신은 당신이 원하는 것을 지적하지 않았다로서 당신이

<div> 
    <div id="some_line_graph"></div> 
    <?php 
     try { 
     $db = connectPDO(); 
     $row = $db->prepare("SELECT name, number FROM numbers"); //for the sake of argument and simplicity I leaved the most simple SQL 
     $row->execute(); 
     $json_data=array(); 
     foreach($row as $rec) 
     { 
     // value on x axis 
     $json_array['label']=$rec['name']; 
     // value on y axis 
     $json_array['value']=$rec['number']; 
     array_push($json_data,$json_array); 
     } 

     ?> 
    <script type="application/javascript"> 
     Morris.Line({ 
     element: 'some_line_graph', 
     // json_encode returns JSON representation of a value 
     data: <?php echo json_encode($json_data,JSON_UNESCAPED_UNICODE)?>, 
     xkey: 'label', 
     ykeys: ['value'], 
     // Set to false to skip time/date parsing for X values, instead treating them as an equally-spaced series. 
     parseTime:false, 
     labels: ['<b>Numbers graph example</b>'], 
     resize: true 
     }); 
    </script> 
    <?php 
     closePDO($db); 
     } catch (PDOException $e) { 
     showPDOErrors($e, $db); 
     } 
    ?> 
</div> 
<div> 

뭔가를 시도 할 수 있습니다

답변

0

표시하려면 (열 등) 당신이 찾고있는 것을 정확히 말하지 않았다면 가장 간단한 쿼리/예제를 만들었습니다. 도움이되기를 바랍니다.