>  기사  >  백엔드 개발  >  Echarts를 사용하여 통계 보고서를 생성하는 PHP 구현

Echarts를 사용하여 통계 보고서를 생성하는 PHP 구현

jacklove
jacklove원래의
2018-07-03 17:59:153004검색

이 글에서는 주로 Echarts를 사용하여 데이터 통계 보고서를 생성하는 PHP 구현 코드를 소개합니다. 필요한 친구는

echarts 통계, 간단한 예

를 참고하세요. 먼저 아래는 렌더링입니다.

코드 보기

HTML 페이지는 사용자 정의된 너비와 높이로 ECharts용 Dom을 준비합니다.

<p class="panel panel-info">
  <p class="panel-body">
    <p id="echart_show" style="height:500px"></p>
  </p>
</p>

js 파일은 공식 홈페이지를 참고하시거나, 여기서 다운받아서

cb979feae670d3b2ecb76f2e8193d19b2cacc6d41bbb37262a98f745aa00fbf0

구체적인 방법은 다음과 같습니다

# 🎜🎜#

<script type="text/javascript">

  var date = [],num = [];
  $(document).ready(function () {
    // 绘制反馈量图形
    var init_echarts = function () {
      var refreshChart = function (show_data) {
        my_demo_chart = echarts.init(document.getElementById(&#39;echart_show&#39;));

        my_demo_chart.showLoading({
          text: &#39;加载中...&#39;,
          effect: &#39;whirling&#39;
        });

        var echarts_all_option = {
          title: {
            text: &#39;&#39;,
            subtext: &#39;用户走势&#39;
          },
          tooltip: {
            trigger: &#39;axis&#39;
          },
          legend: {
            data: [&#39;用户数&#39;, &#39;用户消耗&#39;]
          },
          toolbox: {
            show: true,
            feature: {
              mark: {show: true},
              dataView: {show: true, readOnly: false},
              magicType: {show: true, type: [&#39;line&#39;, &#39;bar&#39;]},
              restore: {show: true},
              saveAsImage: {show: true}
//              myTool2: {
//                show: true,
//                title: &#39;自定义扩展方法&#39;,
//                icon: &#39;image://http://echarts.baidu.com/images/favicon.png&#39;,
//                onclick: function (){
//                  alert(&#39;自定义&#39;)
//                }
//              }
            }
          },
          dataZoom: {
            show: false,
            start: 0,
            end: 100
          },
          xAxis: [
            {
              type: &#39;category&#39;,
              boundaryGap: true,
              data: show_data[1]
            },
            {
              type: &#39;category&#39;,
              boundaryGap: true,
              data: show_data[1]
            }
          ],
          yAxis: [
            {
              type: &#39;value&#39;,
              scale: true,
              name: &#39;用户数&#39;,
              boundaryGap: [0, 0.5]
//              boundaryGap: [0.2, 0.2]
            },
            {
              type: &#39;value&#39;,
              scale: true,
              name: &#39;用户数&#39;,
              boundaryGap: [0, 0.5]
            }
          ],
          series: [
            {
              name: &#39;用户消耗&#39;,
              type: &#39;bar&#39;,
              xAxisIndex: 1,
              data: show_data[0]
            },
            {
              name: &#39;用户数&#39;,
              type: &#39;line&#39;,
              xAxisIndex: 1,
              data:show_data[0]
            }
          ]
        };
        my_demo_chart.hideLoading();
        my_demo_chart.setOption(echarts_all_option);
      };

      // 获取原始数据
      $.ajax({
        url:"__CONTROLLER__/getRes",
        async:false,
        dataType:&#39;json&#39;,
        type:&#39;post&#39;,

        success:function(msg){
          var result = msg.result;
          if(msg.code == 200){
            for(var i = 0 ; i < result.length; i++){
              date.push(result[i].date);
              num.push(result[i].count);
              msg[0] = num;
              msg[1] = date;
              refreshChart(msg);
            }
          }
        }
      });
    };

    // 默认加载
    var default_load = (function () {
      init_echarts();
    })();
  });


</script>

컨트롤러에서 필요한 데이터를 쿼리합니다(날짜 및 해당 수량은 여기에서 쿼리됩니다)

//折线统计
  public function getRes(){
    $user = M(&#39;account&#39;);
    $sql = "SELECT date(createTime) AS date,count(*) as count FROM t_account GROUP BY date ";
    $result = $user->query($sql);
    $this->ajaxReturn(array(&#39;code&#39;=>200,&#39;result&#39;=>$result));
  }
#🎜🎜 #

이때 간단한 echarts 통계차트가 나왔습니다

echarts의 일부 매개변수를 이해하지 못하는 경우 참고하시면 됩니다. 공식 웹 사이트 Echarts Documentation

# 🎜🎜#관련 권장 사항:

PHP는 휴대폰 번호를 기준으로 운영자를 결정합니다

#🎜🎜 #Laravel5.2는 Captcha 생성 인증 코드를 사용하여 로그인합니다

PHP 정렬 알고리즘 시리즈의 버킷 정렬에 대한 자세한 설명


위 내용은 Echarts를 사용하여 통계 보고서를 생성하는 PHP 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.