javascript – 谷歌圆环图表,包含未知数量的变量

栏目: JavaScript · 发布时间: 7年前

内容简介:翻译自:https://stackoverflow.com/questions/31182773/google-donut-chart-for-unknown-number-of-variables

所以我正在尝试构建一个谷歌甜甜圈图,其中坐标的数量是可变的.

这是问题陈述,我必须制作一个图表,显示每个管理员有多少联系人被添加到数据库中.

示例数据: –

管理员1: – admin1@test.com

联系人数量: – 4

管理员2: – admin2@test.com

联系人数量: – 5

可以增加管理员的数量,以及与他们相关的联系人的数量,因此不知道坐标的数量.

我已经制作了这个代码来使其工作,但它并不符合我的期望.实际上它根本不起作用.

什么是完成我的任务的最佳方式?

HTML /PHP部分(工作正常)

<?php
                //get data here
                try
                {
                  $s = $conn->query("SELECT * from users");
                }
                catch(PDOException $e)
                {
                  echo $e->getMessage();
                }
                $i=-1;
                while($admins = $s->fetch(PDO::FETCH_OBJ))
                {
                  $i++;
                  $number = $user->get_numberofcontacts_per_admin($admins->email);
                  echo "<input type='hidden' name='a$i' id='a$i' value=$admins->email>";
                  echo "<input type='hidden' name='c$i' id='c$i' value=$number>";
                }

                ?>
                <input type='hidden' name='ta' id='ta' value='<?php echo $i; ?>' > <!-- total admins -->

使用Javascript

<script type="text/javascript">

    //get ta
    var ta = parseInt(document.getElementById('ta').value);
    var admins = new Array();
    for(i=0;i<=ta;i++)
    {
      admins[i] = document.getElementById('a' + i).value;
      contacts[i] = parseInt(document.getElementById('c' + i).value);
    }
    //alert(p4);
      google.load("visualization", "1", {packages:["corechart"]});
      google.setOnLoadCallback(drawChart);
      function drawChart() {
        var data = google.visualization.arrayToDataTable([
          ['Phase', 'Contacts per phase'],

         for(i=0;i<=ta;i++)
         {
            ['admins[i]',     contacts[i]],
         }
        ]);

        var options = {
          title: 'Contacts per phase',
          pieHole: 0.4,
          is3D: true,
        };

        var chart = new google.visualization.PieChart(document.getElementById('donutchart7'));
        chart.draw(data, options);
      }
    </script>

这个问题怎么能在3个小时内收到5个upvotes …..所有它都是大型代码片段,几乎没有任何有用的信息.

我首先将我的 PHP 输入直接保存到两个全局javascript变量(而不是创建隐藏的HTML元素).

完成后我会更换

var data = google.visualization.arrayToDataTable([
      ['Phase', 'Contacts per phase'],

     for(i=0;i<=ta;i++)
     {
        ['admins[i]',     contacts[i]],
     }
    ]);

var data = google.visualization.DataTable();
     data.addColumn('string','Phase');
     data.addColumn('string','Contacts per Phase');

     for(i=0;i<admins.length;i++){
        data.addRow([admins[i], contacts[i]]);
     };

这将添加两列,每阶段的阶段和联系人,然后为每个管理员填充一行.

阅读更多关于将PHP变量传递到Javascript变量 here 的内容,如果您有兴趣,请阅读非常好的内容.

翻译自:https://stackoverflow.com/questions/31182773/google-donut-chart-for-unknown-number-of-variables


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Design systems

Design systems

Not all design systems are equally effective. Some can generate coherent user experiences, others produce confusing patchwork designs. Some inspire teams to contribute to them, others are neglected. S......一起来看看 《Design systems》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具