douwu5009 2016-06-16 02:40
浏览 34

代码Javascript与PHP出错(不能完美运行)

I wanna make statistics with month for my website, Show result for each month of this years like this

Month 1 : 195
Month 2 : 3 
Month 3 : 45
Month 4 : 15
Month 5 : 75
Month 6 : 100

I try my own code but I have problem, the code give me just 1 one result like this

Month 6 : 100

I try other code with arrays but it's doesn't work, it doesn't show any things

My own php code :

$date1 = date('m');
$date2 = date('Y');
$n = $date1;

 for($i=1;$i<=$n;$i++) {
    $sql = "SELECT sum(count) AS value_sum FROM statistics where MONTH(st_date) = $i and YEAR(st_date) = $date2 ";
    $sql_sel = mysqli_query($conn,$sql);
    echo'   <script>
    var doughnutData = [';
    while($rows = mysqli_fetch_assoc($sql_sel)) {
        if($i == 1) {
            echo '{
            value: '.$rows['value_sum'].',
            color:"#337AB7"
            },';
        }
        else if($i == 2) {
            echo '{
            value: '.$rows['value_sum'].',
            color:"#929292"
            },';
        }
        else if($i == 3) {
            echo '{
            value: '.$rows['value_sum'].',
            color:"#8BC34A"
            },';
        }
        else if($i == 4) {
            echo '{
            value: '.$rows['value_sum'].',
            color:"#FC8213"
            },';
        }
        else if($i == 5) {
            echo '{
            value: '.$rows['value_sum'].',
            color:"#90AE00"
            },';
        }
        else if($i == 6) {
            echo '{
            value: '.$rows['value_sum'].',
            color:"#15AE00"
            },';
        }
        else if($i == 7) {
            echo '{
            value: '.$rows['value_sum'].',
            color:"#FF0080"
            },';
        }
        else if($i == 8) {
            echo '{
            value: '.$rows['value_sum'].',
            color:"#AEB404"
            },';
        }
        else if($i == 9) {
            echo '{
            value: '.$rows['value_sum'].',
            color:"#0431B4"
            },';
        }
        else if($i == 10) {
            echo '{
            value: '.$rows['value_sum'].',
            color:"#B40404"
            },';
        }
        else if($i == 11) {
            echo '{
            value: '.$rows['value_sum'].',
            color:"#F7819F"
            },';
        }
        else if($i == 12) {
            echo '{
            value: '.$rows['value_sum'].',
            color:"#81F781"
            },';
        }
echo'];
new Chart(document.getElementById("doughnut").getContext("2d")).Doughnut(doughnutData);
</script>';
    }
}

I wanna show all result, so, Any help ?

  • 写回答

1条回答 默认 最新

  • duanmi4379 2016-06-16 04:16
    关注

    try this.

    dbconfig.php

    <?php
            $host = 'localhost';
            $dbname = 'dbname';
            $username = 'user';
            $password = 'pass';
        ?>
    

    index.php

    <?php
    $date1 = date('m');
    $date2 = date('Y');
    $n = $date1;
    
     for($i=1;$i<=$n;$i++) {
        require_once 'dbconfig.php';
        try {
          $conn = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
          $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
          $sql = "SELECT sum(count) AS value_sum FROM statistics where MONTH(st_date) = $i and YEAR(st_date) = $date2
          ";
          $q = $conn->query($sql);
          $q->setFetchMode(PDO::FETCH_ASSOC);
        } catch (PDOException $pe) {
          die("Could not connect to the database $dbname :" . $pe->getMessage());
        }
        while ($rows = $q->fetch()) {
            if($i == 1) {
                echo '{
                value: '.$rows['value_sum'].',
                color:"#337AB7"
                },';
            }
            else if($i == 2) {
                echo '{
                value: '.$rows['value_sum'].',
                color:"#929292"
                },';
            }
            else if($i == 3) {
                echo '{
                value: '.$rows['value_sum'].',
                color:"#8BC34A"
                },';
            }
            else if($i == 4) {
                echo '{
                value: '.$rows['value_sum'].',
                color:"#FC8213"
                },';
            }
            else if($i == 5) {
                echo '{
                value: '.$rows['value_sum'].',
                color:"#90AE00"
                },';
            }
            else if($i == 6) {
                echo '{
                value: '.$rows['value_sum'].',
                color:"#15AE00"
                },';
            }
            else if($i == 7) {
                echo '{
                value: '.$rows['value_sum'].',
                color:"#FF0080"
                },';
            }
            else if($i == 8) {
                echo '{
                value: '.$rows['value_sum'].',
                color:"#AEB404"
                },';
            }
            else if($i == 9) {
                echo '{
                value: '.$rows['value_sum'].',
                color:"#0431B4"
                },';
            }
            else if($i == 10) {
                echo '{
                value: '.$rows['value_sum'].',
                color:"#B40404"
                },';
            }
            else if($i == 11) {
                echo '{
                value: '.$rows['value_sum'].',
                color:"#F7819F"
                },';
            }
            else if($i == 12) {
                echo '{
                value: '.$rows['value_sum'].',
                color:"#81F781"
                },';
            }
        }
    }
    ?>
    

    table

    ID> unique>int>auto_increment
    st_date> Date
    count>int
    
    评论

报告相同问题?

悬赏问题

  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 关于大棚监测的pcb板设计
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用