PHP动态柱状图实现方法

这篇文章主要介绍了PHP动态柱状图实现方法,实例分析了php结合HTML元素实现动态柱状图的技巧,非常具有实用价值,需要的朋友可以参考下

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

1.需求

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

2.实现代码:

  1. <!DOCTYPE html>
  2. <?php
  3. //计算上一个月的今天
  4. function last_month_today($time){
  5. $last_month_time = mktime(date("G", $time), date("i", $time),date("s", $time), date("n", $time), 0, date("Y",$time));
  6. $last_month_t = date("t", $last_month_time);
  7. if ($last_month_t < date("j", $time)) {
  8. return date("Y-m-t H:i:s", $last_month_time);
  9. }
  10. return date(date("Y-m", $last_month_time) . "-d", $time);
  11. }
  12. ?>
  13. <?php
  14. include dirname(dirname(dirname(__FILE__))).'/config.php';
  15. $endDate = date('Y-m-d');
  16. $date = strtotime($endDate);
  17. $beginDate= last_month_today($date);
  18. //查询最近一个月的总的数据条数
  19. $sql = 'select count(*) from newpro where p_date>\''.$beginDate.'\' and p_date<\''.$endDate.'\'';
  20. //$sql = "select count(*) from newpro where p_date>'$beginDate' and p_date <'$endDate'";//这条语句也可以
  21. $d = db()->query($sql)->fetch(PDO::FETCH_NUM);
  22. //echo "总的数据条数:".$d[0];
  23. //查询审核通过的数据条数
  24. $sql2=$sql.' and is_pa_check_first=1 and is_pa_check_second=1 and is_pa_check_third=1';
  25. $d2 = db()->query($sql2)->fetch(PDO::FETCH_NUM);
  26. //echo "审核通过的数据条数:".$d2[0];
  27. //查询一次审核通过的条数
  28. $sql3=$sql.' and is_pa_check_first=1';
  29. $d3 = db()->query($sql3)->fetch(PDO::FETCH_NUM);
  30. //查询二次审核通过的条数
  31. $sql4=$sql.' and is_pa_check_first=1 and is_pa_check_second=1';
  32. $d4 = db()->query($sql4)->fetch(PDO::FETCH_NUM);
  33. ?>
  34. <html>
  35. <head>
  36. <meta charset="utf-8"/>
  37. <style>
  38. table{
  39. cellpadding:0px;
  40. cellspacing:0px;
  41. }
  42. p{
  43. padding:0px;
  44. margin:0px;
  45. }
  46. div{
  47. background-color:#669900;
  48. width:50px;
  49. }
  50. #div1{
  51. height:200px;
  52. }
  53. </style>
  54. <script type="text/javascript" src="../../../js/jquery-1.7.2.min.js"></script>
  55. </head>
  56. <body>
  57. <table >
  58. <tr align="center" valign="bottom">
  59. <td>
  60. <p><?php echo $d[0]?></p>
  61. <div ></div>
  62. </td>
  63. <td >
  64. <p><?php echo $d3[0]?></p>
  65. <div px'?>"></div>
  66. </td>
  67. <td >
  68. <p><?php echo $d4[0]?></p>
  69. <div px'?>"></div>
  70. </td>
  71. <td >
  72. <p><?php echo $d2[0]?></p>
  73. <div px'?>"></div>
  74. </td>
  75. </tr>
  76. <tr align="center" valign="top">
  77. <td><p>总计</p></td>
  78. <td><p>一审通过</p></td>
  79. <td><p>二审通过</p></td>
  80. <td><p>审核通过</p></td>
  81. </tr>
  82. </table>
  83. </body>
  84. </html>