PHP动态柱状图实现方法

时间:2022-11-26 09:33:25

本文实例讲述了PHP动态柱状图实现方法。分享给大家供大家参考。具体分析如下:

1.需求

查询最近一个月的数据总条数和审核通过的条数,做成柱状图

2.实现代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<!DOCTYPE html>
<?php  
//计算上一个月的今天
function last_month_today($time){
  $last_month_time = mktime(date("G", $time), date("i", $time),date("s", $time), date("n", $time), 0, date("Y",$time));
  $last_month_t = date("t", $last_month_time);
  if ($last_month_t < date("j", $time)) {
    return date("Y-m-t H:i:s", $last_month_time);
  }
  return date(date("Y-m", $last_month_time) . "-d", $time);
}
?>
 
<?php
  include dirname(dirname(dirname(__FILE__))).'/config.php';
  $endDate = date('Y-m-d');  
  $date = strtotime($endDate);
  $beginDate= last_month_today($date);
 
//查询最近一个月的总的数据条数
$sql = 'select count(*) from newpro where p_date>\''.$beginDate.'\' and p_date<\''.$endDate.'\'';
//$sql = "select count(*) from newpro where p_date>'$beginDate' and p_date <'$endDate'";//这条语句也可以
$d = db()->query($sql)->fetch(PDO::FETCH_NUM);
//echo "总的数据条数:".$d[0];
 
//查询审核通过的数据条数
$sql2=$sql.' and is_pa_check_first=1 and is_pa_check_second=1 and is_pa_check_third=1';
$d2 = db()->query($sql2)->fetch(PDO::FETCH_NUM);
//echo "审核通过的数据条数:".$d2[0];
 
//查询一次审核通过的条数
$sql3=$sql.' and is_pa_check_first=1';
$d3 = db()->query($sql3)->fetch(PDO::FETCH_NUM);
 
//查询二次审核通过的条数
$sql4=$sql.' and is_pa_check_first=1 and is_pa_check_second=1';
$d4 = db()->query($sql4)->fetch(PDO::FETCH_NUM);
?>
 
<html>
  <head>
    <meta charset="utf-8"/>
    <style>
      table{
        cellpadding:0px;
        cellspacing:0px;
      }
      p{
        padding:0px;
        margin:0px;
      }
      div{
        background-color:#669900;
        width:50px;
      }
      #div1{
        height:200px;
      }
    </style>
    <script type="text/javascript" src="../../../js/jquery-1.7.2.min.js"></script>
  </head>
  <body>
    <table border="0" >
      <tr align="center" valign="bottom">
        <td>
          <p><?php echo $d[0]?></p>
          <div id="div1"></div>
        </td>
        <td >
          <p><?php echo $d3[0]?></p>
          <div style="height:<?php $str=floor(($d3[0]/$d[0])*200); echo $str.'px'?>"></div>
        </td>
        <td >
          <p><?php echo $d4[0]?></p>
          <div style="height:<?php $str=floor(($d4[0]/$d[0])*200); echo $str.'px'?>"></div>
        </td>
        <td >
          <p><?php echo $d2[0]?></p>
          <div style="height:<?php $str=floor(($d2[0]/$d[0])*200); echo $str.'px'?>"></div>
        </td>
      </tr>
      <tr align="center" valign="top">
        <td><p>总计</p></td>
        <td><p>一审通过</p></td>
        <td><p>二审通过</p></td>
        <td><p>审核通过</p></td>
      </tr>
    </table>
  </body>
</html>

3.效果图如下所示:

PHP动态柱状图实现方法

希望本文所述对大家的php程序设计有所帮助。