PHP动态柱状图实现方法

5年以前  |  阅读数:461 次  |  编程语言: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分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例