2013-08-30 45 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

相关问题