Google图表,我无法在JavaScript中使用变量 [英] Google charts, i cannot use variables inside javascript

查看:51
本文介绍了Google图表,我无法在JavaScript中使用变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个查询,该查询从SQL获取名称及其字段的列表(按时&延迟).如果我在php中使用echo $ datosGrafico,它将显示以下内容:

I have a query that get from SQL a list of names and theirs fields (OnTime & Delayed). If i use an echo $datosGrafico in php, it shows the below:

['Agustin', 17, 1 ],
['Andrea', 79, 0 ],
['Carla', 17, 0 ],
['Cecilia', 6, 0 ],
['Denise', 0, 0 ],
['Diego', 3, 0 ],
['Ezequiel', 0, 0 ],
['German', 0, 0 ],

那部分很好.一旦我尝试将变量放入Google图表JavaScript中,问题就会出现.该脚本只是停止工作:

That part is fine. the problem appear once i try to put that variable in the google chart javascript. The script just stop working:

<html>
<head>
<script type="text/javascript" 
src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
    google.charts.load("current", {packages:["bar"]});
    google.charts.setOnLoadCallback(drawStuff);
    function drawStuff() {
        var data = google.visualization.arrayToDataTable([
        ['Analista', 'On Time', 'Delayed'],
        //(The variable $datosGrafico SHOULD GO HERE and avoid to insert every name mannualy)

        ['Agustin', 17, 1],
        ['Lucas', 6, 2], 
        ]);

        var options = {
        width: 425,
        height: 450,
        chart: {
            title: 'Spread of SLAs by Analist',
            subtitle: 'Amount of Tickets'
        },
        bars: 'horizontal' // Required for Material Bar Charts.
        }
        ;

        var chart = new 
google.charts.Bar(document.getElementById('dual_x_div'));
        chart.draw(data, options);
        }
 </script>
</head>
<body>
<div id="dual_x_div" style="width: 300px; height: 450px;"></div>
</body>

知道为什么会这样吗?

推荐答案

我已经根据此处的评论找到了解决方案!谢谢!

I've found the solution based on comments here! Thanks!

php PDO查询,返回变量:

The php PDO query, return the variable:

$datosGrafico

我添加了几行以将该变量结果保存到php文件中

I added some lines to save that variable result in a php file

$fichero = 'tpl\include\test.php';
$actual = $datosGrafico;
file_put_contents($fichero, $actual);

然后,我刚刚添加了php代码来读取该文件:

and then, i've just added the php code to read that file:

dataTable = new google.visualization.DataTable();

            var newData = <?php include ('tpl\include\test.php')?>
            var numRows = newData.length;
            var numCols = newData[0].length;

            // in this case the first column is of type 'string'.
            dataTable.addColumn('string', newData[0][0]);

            // all other columns are of type 'number'.
            for (var i = 1; i < numCols; i++)
            dataTable.addColumn('number', newData[0][i]);           

            // now add the rows.
            for (var i = 1; i < numRows; i++)
                dataTable.addRow(newData[i]);    

希望这对以后有帮助!

这篇关于Google图表,我无法在JavaScript中使用变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆