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 相关文章推荐
ajax+php打造进度条代码[readyState各状态说明]
Apr 12 PHP
PHP为表单获取的URL 地址预设 http 字符串函数代码
May 26 PHP
PHP字符串函数系列之nl2br(),在字符串中的每个新行 (\n) 之前插入 HTML 换行符br
Nov 10 PHP
腾讯QQ微博API接口获取微博内容
Oct 30 PHP
linux下使用crontab实现定时PHP计划任务失败的原因分析
Jul 05 PHP
PHP处理postfix邮件内容的方法
Jun 16 PHP
PHP flush 函数使用注意事项
Aug 26 PHP
Laravel手动分页实现方法详解
Oct 09 PHP
PHP获取数组中单列值的方法
Jun 10 PHP
分享5个非常有用的Laravel Blade指令
May 30 PHP
使用swoole 定时器变更超时未支付订单状态的解决方案
Jul 24 PHP
Laravel 微信小程序后端搭建步骤详解
Nov 26 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
扩展你的 PHP 之入门篇
2006/12/04 PHP
jquery+php实现导出datatables插件数据到excel的方法
2015/07/06 PHP
ThinkPHP框架下微信支付功能总结踩坑笔记
2019/04/10 PHP
JavaScript DOM 学习第三章 内容表格
2010/02/19 Javascript
JS自调用匿名函数具体实现
2014/02/11 Javascript
页面元素绑定jquery toggle后元素隐藏的解决方法
2014/03/27 Javascript
JS常用字符串处理方法应用总结
2014/05/22 Javascript
JavaScript实现设计模式中的单例模式的一些技巧总结
2016/05/17 Javascript
Javascript实现图片不间断滚动的代码
2016/06/22 Javascript
node实现简单的反向代理服务器
2017/07/26 Javascript
Vue基于NUXT的SSR详解
2017/10/24 Javascript
Node.js调用fs.renameSync报错(Error: EXDEV, cross-device link not permitted)
2017/12/27 Javascript
jQuery中ajax获取数据赋值给页面的实例
2017/12/31 jQuery
vue页面跳转后返回原页面初始位置方法
2018/02/11 Javascript
vue-router的HTML5 History 模式设置
2018/09/08 Javascript
如何在Express4.x中愉快地使用async的方法
2020/11/18 Javascript
JavaScript 中的六种循环方法
2021/01/06 Javascript
[31:33]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS DT 第一场
2014/05/23 DOTA
python生成excel的实例代码
2017/11/08 Python
Python进程,多进程,获取进程id,给子进程传递参数操作示例
2019/10/11 Python
Python 静态方法和类方法实例分析
2019/11/21 Python
matplotlib 多个图像共用一个colorbar的实现示例
2020/09/10 Python
Python descriptor(描述符)的实现
2020/11/15 Python
美国户外烹饪产品购物网站:Outdoor Cooking
2020/01/10 全球购物
小区门卫管理制度
2014/01/29 职场文书
《世界多美呀》教学反思
2014/03/02 职场文书
热门专业求职信
2014/05/24 职场文书
关于读书的演讲稿600字
2014/08/27 职场文书
2014年校务公开工作总结
2014/12/18 职场文书
客服专员岗位职责
2015/02/10 职场文书
个人总结与自我评价2015
2015/03/11 职场文书
基层组织建设年活动总结
2015/05/09 职场文书
幼儿园开学家长寄语(2015秋季)
2015/05/27 职场文书
2015年四年级班主任工作总结
2015/10/22 职场文书
2016年感恩父亲节活动总结
2016/04/01 职场文书
golang 生成对应的数据表struct定义操作
2021/04/28 Golang