PHP动态柱状图实现方法


Posted in PHP onMarch 30, 2015

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

1.需求

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

2.实现代码:

<!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程序设计有所帮助。

PHP 相关文章推荐
使用PHP和XSL stylesheets转换XML文档
Oct 09 PHP
一个从别的网站抓取信息的例子(域名查询)
Oct 09 PHP
WIN98下Apache1.3.14+PHP4.0.4的安装
Oct 09 PHP
用PHP ob_start()控制浏览器cache、生成html实现代码
Feb 16 PHP
php中如何同时使用session和cookie来保存用户登录信息
Jul 05 PHP
php多层数组与对象的转换实例代码
Aug 05 PHP
php页码形式分页函数支持静态化地址及ajax分页
Mar 28 PHP
thinkPHP下ueditor的使用方法详解
Dec 26 PHP
PHP随机获取未被微信屏蔽的域名(微信域名检测)
Mar 19 PHP
php中str_pad()函数用法分析
Mar 28 PHP
ThinkPHP5&amp;5.1框架关联模型分页操作示例
Aug 03 PHP
Yii框架多语言站点配置方法分析【中文/英文切换站点】
Apr 07 PHP
php实现的一个简单json rpc框架实例
Mar 30 #PHP
php实现读取内存顺序号
Mar 29 #PHP
php实现插入排序
Mar 29 #PHP
php实现插入数组但不影响原有顺序的方法
Mar 27 #PHP
WordPress自定义时间显示格式
Mar 27 #PHP
在php和MySql中计算时间差的方法详解
Mar 27 #PHP
PHP连接access数据库
Mar 27 #PHP
You might like
Smarty+QUICKFORM小小演示
2007/02/25 PHP
浅谈PHP中的面向对象OOP中的魔术方法
2017/06/12 PHP
thinkphp5+layui实现的分页样式示例
2019/10/08 PHP
Add a Table to a Word Document
2007/06/15 Javascript
图片上传判断及预览脚本的效果实例
2013/08/07 Javascript
Jquery 实现表格颜色交替变化鼠标移过颜色变化实例
2013/08/28 Javascript
JS获取时间的方法
2015/01/21 Javascript
js跨域请求数据的3种常用的方法
2015/12/01 Javascript
js实现n秒倒计时后才可以点击的效果
2015/12/20 Javascript
轻松掌握JavaScript中介者模式
2016/08/26 Javascript
详解vue与后端数据交互(ajax):vue-resource
2017/03/16 Javascript
详解Vue项目部署遇到的问题及解决方案
2019/01/11 Javascript
Node.js系列之发起get/post请求(2)
2019/08/30 Javascript
[53:52]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[52:07]完美世界DOTA2联赛PWL S3 LBZS vs access 第二场 12.10
2020/12/13 DOTA
Python内置的字符串处理函数整理
2013/01/29 Python
Python中的连接符(+、+=)示例详解
2017/01/13 Python
Flask数据库迁移简单介绍
2017/10/24 Python
python如何压缩新文件到已有ZIP文件
2018/03/14 Python
浅谈Pandas 排序之后索引的问题
2018/06/07 Python
python使用matplotlib模块绘制多条折线图、散点图
2020/04/26 Python
Python定时发送消息的脚本:每天跟你女朋友说晚安
2018/10/21 Python
Pandas GroupBy对象 索引与迭代方法
2018/11/16 Python
对python mayavi三维绘图的实现详解
2019/01/08 Python
详解Python对JSON中的特殊类型进行Encoder
2019/07/15 Python
基于Python新建用户并产生随机密码过程解析
2019/10/08 Python
分享8点超级有用的Python编程建议(推荐)
2019/10/13 Python
python3连接kafka模块pykafka生产者简单封装代码
2019/12/23 Python
如何使用Python调整图像大小
2020/09/26 Python
Python通过Schema实现数据验证方式
2020/11/12 Python
新秀丽拉杆箱美国官方网站:Samsonite美国
2016/07/25 全球购物
秋天的图画教学反思
2014/05/01 职场文书
网络营销策划方案
2014/06/04 职场文书
投诉信范文
2015/07/02 职场文书
Python之基础函数案例详解
2021/08/30 Python
Redis sentinel哨兵集群的实现步骤
2022/07/15 Redis