PHP动态柱状图实现方法

yipeiwu_com5年前PHP代码库

本文实例讲述了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后门代码解析

偶然间看到一段,看起来似乎没有什么问题,确是能致命的后门代码,这里用到了一个一般的PHPer都不怎么关注的反撇号 ` ,反撇号包含的字符串,等同于shell_exec函数。 伪装性很好,...

老生常谈PHP 文件写入和读取(必看篇)

老生常谈PHP 文件写入和读取(必看篇)

文章提纲: 一.实现文件读取和写入的基本思路 二.使用fopen方法打开文件 三.文件读取和文件写入操作 四.使用fclose方法关闭文件 五.文件指针的移动 六.Window...

php读取出一个文件夹及其子文件夹下所有文件的方法示例

本文实例讲述了php读取出一个文件夹及其子文件夹下所有文件的方法。分享给大家供大家参考,具体如下: 今天的需求要在一个文件夹中读取出这个文件夹下所有的文件,当然也包括这个文件夹下面所有的...

PHP 设计模式之观察者模式介绍

介绍 观察者模式定义对象的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新! 设计原则 在观察者模式中,会改变的是主题的状态以及观察者的数目。用这个模式,...

linux下安装php的memcached客户端

linux下安装php的memcached客户端

下面将介绍安装php的memcached客户端安装步骤 1、下载安装libmemcached客户端 官网地址:http://libmemcached.org/libMemcached.h...