2014-11-26 5 views
0

PHP 파일이 있고이를 MySQL에 연결하고 일부 값을 가져옵니다. 하이 챠트를 사용하고있는 그래프를 보여주기 위해 .tpl 파일에서이 값을 사용하고 싶습니다. 나는 어쨌든 자바 스크립트 인 그래프에 PHP 값을 전달할 수 없다. 코드를 살펴보고 어디가 잘못되었는지 말해주십시오.하이 차트 그래프의 동적 PHP 값 전달

내 PHP 코드는 다음과 같습니다

$sqlStr = "select * from users where user_id=".$_SESSION['user_id']; 

     $sqlQuery = mysql_query($sqlStr) or die(mysql_error()."<hr>".$sqlStr); 

     if (mysql_num_rows($sqlQuery)) { 

      $rowMyReport = mysql_fetch_assoc($sqlQuery); 

      $smarty->assign("value1",$rowMyReport['value1']); 
      $smarty->assign("value2",$rowMyReport['value2']); 
      $smarty->assign("value3",$rowMyReport['value3']); 
      $smarty->assign("value4",$rowMyReport['value4']); 
      } 

가 지금은 Highcharts 내 웹 사이트에 그래프를 가지고 이러한 값을 사용하고 싶습니다.

$(function() { 
$('#graph').highcharts({ 
    chart: { 
     plotBackgroundColor: null, 
     plotBorderWidth: 1,//null, 
     plotShadow: false 
    }, 
    title: { 
     text: 'Browser market shares at a specific website, 2014' 
    }, 
    tooltip: { 
     pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>' 
    }, 
    plotOptions: { 
     pie: { 
      allowPointSelect: true, 
      cursor: 'pointer', 
      dataLabels: { 
       enabled: true, 
       format: '<b>{point.name}</b>: {point.percentage:.1f} %', 
       style: { 
        color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black' 
       } 
      } 
     } 
    }, 
    series: [{ 
     type: 'pie', 
     name: 'Some-name', 
     data: [ 
      ['title1', <?php echo $value1; ?>], 
      ['title2',  <?php echo $value2; ?>], 
      ['title3', <?php echo $value3; ?>], 
      ['title4', <?php echo $value4; ?>] 
     ] 
    }] 
}); 
}); 
내가 같은 .tpl 파일이 그래프 전화

: 그래프가 표시됩니다 하드 코딩 된 값을 제공함으로써

<div id="graph" style="min-width: 200px; height: 200px; margin: 0 auto"></div> 

을하지만 동적 값을 사용 (PHP 그래서 나는이 시도 값) 그래프가 표시되지 않습니다. 어떤 도움을 주시면 감사하겠습니다 ...

+0

아마 문제는 값이 숫자가 아닌 문자열이라는 것입니다. 그래서 json_encode()를 사용하십시오. 자세한 내용은 [웹 사이트] (http://www.highcharts.com/docs/working-with-data/preprocessing-data-from-a-database)를 방문하십시오. –

답변

2

json_encode을 사용하여 컨트롤러에 전달하십시오.

+0

예제를 제공하여 json_encode를 도와주십시오. 내 문제에서. 마찬가지로 내가 필요한 경우 개별 값에 액세스 할 수 있습니까? – Roland

+1

$ smarty-> assign ("value1", json_encode ($ rowMyReport [ 'value1']))); 하이 차트를 사용할 때는 json_encode (your_data)를 전달해야합니다. – h3dgh

+0

그래서 PHP와 .tpl에서 바꿨습니다. .. 여전히 차트가 보이지 않습니다. tpl 파일의 – Roland

관련 문제