2013-01-24 74 views
-2

可能重複:
Pass a PHP string to a Javascript variable (and escape newlines)PHP變量Highcharts

我需要創建一個柱狀圖從數據庫獲取數據。我爲此下載了Highcharts。但我無法在JavaScript中調用php變量。任何想法如何做到這一點?

和 任何其他使用動態值創建圖表的方式。

在此先感謝。

<script> 
$(function() { 
    var chart; 
    $(document).ready(function() { 
     chart = new Highcharts.Chart({ 
      chart: { 
       renderTo: 'container', 
       type: 'column' 
      }, 
      title: { 
       text: 'Monthly Average Rainfall' 
      }, 
      subtitle: { 
       text: 'Source: WorldClimate.com' 
      }, 
      xAxis: { 
       categories: [ 
        'Jan', 
        'Feb', 
        'Mar', 
        'Apr', 
        'May', 
        'Jun', 
        'Jul', 
        'Aug', 
        'Sep', 
        'Oct', 
        'Nov', 
        'Dec' 
       ] 
      }, 
      yAxis: { 
       min: 0, 
       title: { 
        text: 'Rainfall (mm)' 
       } 
      }, 
      legend: { 
       layout: 'vertical', 
       backgroundColor: '#FFFFFF', 
       align: 'left', 
       verticalAlign: 'top', 
       x: 100, 
       y: 70, 
       floating: true, 
       shadow: true 
      }, 
      tooltip: { 
       formatter: function() { 
        return ''+ 
         this.x +': '+ this.y +' mm'; 
       } 
      }, 
      plotOptions: { 
       column: { 
        pointPadding: 0.2, 
        borderWidth: 0 
       } 
      }, 
       series: [{ 
       name: 'Tokyo', 
       data: [49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4] 

      }, { 
       name: 'New York', 
       data: [83.6, 78.8, 98.5, 93.4, 106.0, 84.5, 105.0, 104.3, 91.2, 83.5, 106.6, 92.3] 

      }, { 
       name: 'London', 
       data: [48.9, 38.8, 39.3, 41.4, 47.0, 48.3, 59.0, 59.6, 52.4, 65.2, 59.3, 51.2] 

      }, { 
       name: 'Berlin', 
       data: [42.4, 33.2, 34.5, 39.7, 52.6, 75.5, 57.4, 60.4, 47.6, 39.1, 46.8, 51.1] 

      }] 
     }); 
    }); 

}); 
</script> 
+3

-1沒有明顯的研究。單獨在這個網站上必須有一百萬重複的問題。 – SDC

+0

嘗試ez組件http://ezcomponents.org/docs/tutorials/Graph#id2。你傳遞php數組,並獲得各種圖形 – vodich

+0

我下載了highcharts ...我想通過javascript生成圖表。我嘗試使用PHP變量而不是靜態值。它不起作用。 –

回答

5

您可以使用腳本內的PHP變量。看下面的例子,將你的Php數組作爲一個字符串。然後將其傳遞給系列數據。

<?php 

     $values= array('49.9', '71.5', '106.4', '129.2', '144.0', '176.0', '135.6', '148.5', 216.4, '194.1', '95.6', '54.4'); 
     $rainValues = implode(",", $values); 
    ?> 

然後,您可以訪問腳本中的字符串。

series: [{ 
      name: 'Tokyo', 
      data: [<?php echo $rainValues ?>] 

     }, 
+0

正如你可以看到上面的代碼,我想在數據中使用php變量:[48.9,38.8,39.3,41.4,47.0,48.3,59.0,59.6,52.4,65.2,59.3 ,51.2]節。 –

+0

我編輯了我的答案。請檢查一下。 –

+0

謝謝埃德溫...還沒有顯示出來...我會繼續...直到我得到。再次感謝你的幫助... –

0

在JavaScript中使用PHP變量,你可能會想是這樣的:

<?php 
$var = 1; 
?> 

<script> 
    var a = <?=$var?>; 
</script> 
2

對於在JavaScript中使用任何PHP變量,您需要回顯PHP值並將其初始化爲JavaScript變量。

<script type="text/javascript"> 
     var myjsvar= <?php echo $my_phpvar; ?> 
</script>