2013-08-30 49 views
0

我正在處理應用程序和使用谷歌圖表,所以我可以添加統計數據,到目前爲止的問題是我想從我的數據庫中檢索數據並將其放入JavaScript函數中!我只是不知道如何混合兩種不同的語言,而我正在用php編碼。我怎樣才能使用一個pgsql查詢與JS

回答

0
<?php 
    $data = array(
     array('Year', 'Sales', 'Expenses'), 
     array(...whatever data you extracted from the db...) 
    ); 
?> 
<script type="text/javascript"> 
    var data = google.visualization.arrayToDataTable(
     <?php echo json_encode($data, JSON_HEX_TAG|JSON_HEX_AMP|JSON_HEX_QUOT); ?> 
    ); 
</script> 

注JSON_HEX_TAG是必要的,以確保有編碼字符串中沒有</script>結束標記,如果XHTML是在使用JSON_HEX_AMP是必要的。不應該使用JSON_UNESCAPED_UNICODE,因爲它允許在JSON中有效的U + 2028和U + 2029字符,但不能在JavaScript中使用。

<div id="something" data-data="<?php echo htmlspecialchars(json_encode($data)); ?>"> 

... 

var json = document.getElementById('something').getAttribute('data-data'); 
var data = google.visualization.arrayToDataTable(JSON.parse(json)); 
0

你需要從PHP的postgres中提取所有的數據,然後餵它你的html模板。

1)http://php.net/manual/en/ref.pgsql.php

2)任何模板引擎或與它的變量自己的純HTML文件。例如:http://twig.sensiolabs.org/

+0

我已經把我的數據在phpPgAdmin的:如果你想避免內嵌的JavaScript元素和虐待JSON,如JavaScript將通過DOM來傳遞數據

另一種方法。 – LazyBrain

+0

例如在此腳本中 var data = google.visualization.arrayToDataTable(''Year','Sales','Expenses'], ['2004',1000,400], ['2005', 1170,460], ['2006',660,1120], ['2007',1030,540] ]);' 我想用我的數據庫中某列的值替換1000 – LazyBrain

相關問題