0

任何人都可以帮助我解决这个问题提前谢谢你这是一个谷歌图表我需要动态更改任务和每天的小时数,所以基本上需要一个可以连接到数据库并将它们放在数组中的数据库我该怎么做.

 <html>
      <head>
        <script type="text/javascript" src="https://www.google.com/jsapi"></script>
        <script type="text/javascript">
          google.load("visualization", "1", {packages:["corechart"]});
          google.setOnLoadCallback(drawChart);
          function drawChart() {
            var data = google.visualization.arrayToDataTable([
              ['Task', 'Hours per Day'],
              ['Work',     11],
              ['Eat',      2],
              ['Commute',  2],
              ['Watch TV', 2],
              ['Sleep',    7]
            ]);

            var options = {
              title: 'My Daily Activities'
            };

            var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
            chart.draw(data, options);
          }
        </script>
      </head>
      <body>
        <div id="chart_div" style="width: 900px; height: 500px;"></div>
      </body>
    </html>
4

2 回答 2

3

首先你需要设计一个数据库结构。例如:

** Activities ** 
| ID |   Task   | Hours  | 
| 1  |   Work   |   11   |
| 2  |   Eat    |   2    |
| 3  | Cummute  |   2    |
| 4  | Watch TV |   2    | 
| 5  |  Sleep   |   7    | 

现在您需要建立数据库连接。(最简单的方法,有更好的方法可以做到这一点,这只是一个例子)

<?php
 $link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
 if (!$link) {
     die('Not connected : ' . mysql_error());
 } 

 // make foo the current db
 $db_selected = mysql_select_db('your_db_name', $link);
 if (!$db_selected) {
     die ('Can\'t use database : ' . mysql_error());
 }
?>

您需要动态构建此代码:

   var data = google.visualization.arrayToDataTable([
      ['Task', 'Hours per Day'],
      ['Work',     11],
      ['Eat',      2],
      ['Commute',  2],
      ['Watch TV', 2],
      ['Sleep',    7]
    ]);

在这个例子中,标题是静态的

   var data = google.visualization.arrayToDataTable([
      ['Task', 'Hours per Day'],
      <?php
         $query = mysql_query("SELECT * FROM Activities");
         $count = mysql_row_count($query);
         $i = 0;
         $last = ',';
         while ($row = mysql_fetch_array($result)) {
          $i++;
          if($i == $count) { $last = ''; )
          echo "['". $row['Task'] .", ". $row['Hours'] ." '] " . $last
         }
       ?>
    ]);
于 2013-04-05T08:42:42.150 回答
-1

尝试以下操作:

  1. 使用 mysqli_connect 建立数据库连接并查询数据库以获取结果集
  2. 如下所述分配 PHP 变量:

              ['Task', 'Hours per Day'],
              ['Work',     <?php echo $work; ?>],
              ['Eat',      <?php echo $eat; ?>],
              ['Commute',  <?php echo $commute; ?>],
              ['Watch TV', <?php echo $watchTv; ?>],
              ['Sleep',    <?php echo $sleep; ?>]
    

变量:

$work
$eat
$commute
$watchTv
$sleep

是包含来自 DB 的相应值的 PHP 变量

我希望这会有所帮助。

于 2013-04-05T08:34:56.703 回答