本文实例讲述了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程序设计有所帮助。