Javascript 按月份显示数据

Javascript 按月份显示数据,javascript,php,jquery,mysql,charts,Javascript,Php,Jquery,Mysql,Charts,我想在饼图中显示员工数据。我能够使用jQuery和php制作饼图。但需求是页面中有12个按钮。名字从一月到十二月 当用户单击feb时,feb的饼图将显示给用户。当点击十二月时,十二月的饼图将显示给用户 在我的数据库中有一个date列,其中存储的日期类似于2015-06-23 我无法得到SQL查询的逻辑,这是我的代码,但它需要改进 <html> <head> <!--Load the AJAX API--> <script type="

我想在饼图中显示员工数据。我能够使用jQuery和php制作饼图。但需求是页面中有12个按钮。名字从一月到十二月

当用户单击feb时,feb的饼图将显示给用户。当点击十二月时,十二月的饼图将显示给用户

在我的数据库中有一个
date
列,其中存储的日期类似于2015-06-23

我无法得到SQL查询的逻辑,这是我的代码,但它需要改进

<html>
  <head>
    <!--Load the AJAX API-->
    <script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <script type="text/javascript">

      // Load the Visualization API and the piechart package.
      google.load('visualization', '1.0', {'packages':['corechart']});

      // Set a callback to run when the Google Visualization API is loaded.
      google.setOnLoadCallback(drawChart);

      // Callback that creates and populates a data table,
      // instantiates the pie chart, passes in the data and
      // draws it.
      function drawChart() {

        // Create the data table.
        var data = new google.visualization.DataTable();
        data.addColumn('string', 'Topping');
        data.addColumn('number', 'Slices');
        data.addRows
        ([
          <?php

            $servername = "localhost";
            $username   = "root";
            $dbname     = "dat_database";
            $password   = "";
            $conn       = new mysqli($servername, $username, $password, $dbname);
            $EMP_ID  = 'MMUM254';
            $sql        = "SELECT  typeof_task,hourspend from emp_dat_info where EMP_ID='" . $EMP_ID. "'  ORDER BY date DESC LIMIT 10 " ;
            $result     = $conn->query($sql);
            if ($result->num_rows > 0) {
                            while ($row = $result->fetch_assoc()) {
                                $a[] = "['" . $row["typeof_task"] . "', " . $row["hourspend"] . "]";
                }
                echo implode(', ', $a);

}

?>

        ]);

        // Set chart options
        var options = {'title':'How Much Hours You Spend',
                       'width':900,
                       'height':500};

        // Instantiate and draw our chart, passing in some options.
        var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
        chart.draw(data, options);
      }
    </script>
  </head>

  <body>
    <!--Div that will hold the pie chart-->
    <div id="chart_div"></div>
  </body>
</html>
<?php echo date("Y"); ?>

//加载可视化API和piechart包。
load('visualization','1.0',{'packages':['corechart']});
//将回调设置为在加载Google Visualization API时运行。
setOnLoadCallback(drawChart);
//创建并填充数据表的回调,
//实例化饼图,传入数据并
//画它。
函数绘图图(){
//创建数据表。
var data=new google.visualization.DataTable();
data.addColumn('string','Topping');
data.addColumn('number','Slices');
data.addRows
([

您可以尝试在代码中使用
month
子句来仅获取月份数据

$sql = "SELECT  typeof_task,hourspend 
        FROM emp_dat_info 
        WHERE EMP_ID='" . $EMP_ID. "'  
        ORDER BY MONTH(date) DESC LIMIT 10 " ;
        $result     = $conn->query($sql);

如果要获取月份的全名,可以在查询中尝试MONTHNAME子句。在MONTHNAME子句中传递日期

$sql = "SELECT  typeof_task,hourspend 
        FROM emp_dat_info 
        WHERE EMP_ID='" . $EMP_ID. "'  
        ORDER BY MONTHNAME(date) DESC LIMIT 10 " ;
        $result     = $conn->query($sql);
有关更多参考信息,请访问此链接:

请尝试带日期的月份

$sql = "SELECT  typeof_task,hourspend 
            FROM emp_dat_info 
            WHERE EMP_ID='" . $EMP_ID. "'  
            ORDER BY MONTH(date) DESC LIMIT 10 " ;
            $result= $conn->query($sql);