현재 위치: > 최신 기사 목록> 효율적인 빅 데이터 차트 디스플레이를 달성하기위한 PHP와 VUE.JS의 조합 안내

효율적인 빅 데이터 차트 디스플레이를 달성하기위한 PHP와 VUE.JS의 조합 안내

M66 2025-06-27

소개

비즈니스 시스템이 데이터 처리 기능을 계속 개선함에 따라 개발자는 종종 프론트 엔드에 구조화되고 거대한 데이터 컨텐츠를 제시해야합니다. 특히 월간 판매 및 액세스 트렌드와 같은 통계 정보에 직면 할 때, 프론트 엔드 차트를 명확하게 제시하는 방법으로 성능이 핵심 문제가되었습니다. 이 기사는 PHP 백엔드 데이터 인터페이스를 Vue.js 프론트 엔드 프레임 워크와 결합하고 차트 .JS 라이브러리와 협력하여 반응 형 빅 데이터 통계 차트를 구축하는 방법을 소개합니다.

1. 개발 환경 및 종속성 라이브러리 준비

코딩을 시작하기 전에 개발 환경이 다음 조건을 충족하는지 확인하십시오.

  • PHP 7.4 이상
  • vue.js 버전 3 또는 2를 사용할 수 있습니다
  • Chart.js 3 이상

Chart.js는 유연한 HTML5 차트 라이브러리입니다. 이 기사에서는 CDN을 통해 소개했습니다.

 <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>

2. 백엔드 PHP 코드 : 추출 통계

이 예에서는 데이터베이스의 판매 레코드를 쿼리하고 프론트 엔드 호출에 대한 JSON에서 결과를 출력합니다.

 
// 데이터베이스에 연결하십시오
$conn = new mysqli($servername, $username, $password, $dbname);

// 연결을 확인하십시오
if ($conn->connect_error) {
    die("연결이 실패했습니다: " . $conn->connect_error);
}

// 총 월간 판매를 확인하십시오
$sql = "SELECT SUM(amount) AS total_amount, MONTH(date) AS month FROM sales GROUP BY MONTH(date)";
$result = $conn->query($sql);

// 결과 배열을 구축하십시오
$data = [];
if ($result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
        $data[] = $row;
    }
}

// 산출JSON데이터
echo json_encode($data);

3. 프론트 엔드 vue.js : 렌더링 히스토그램

vue.js는 PHP 백엔드에서 데이터를 얻고 차트를 렌더링 할 책임이 있습니다. 다음은 일반적인 구성 요소 구현입니다.

 
<template>
  <div>
    <canvas id="chart"></canvas>
  </div>
</template>

<script>
import axios from 'axios';

export default {
  mounted() {
    axios.get('http://localhost/api/sales.php')
      .then((response) => {
        this.createChart(response.data);
      })
      .catch((error) => {
        console.error(error);
      });
  },
  methods: {
    createChart(data) {
      const labels = data.map(item => item.month);
      const values = data.map(item => item.total_amount);

      new Chart('chart', {
        type: 'bar',
        data: {
          labels,
          datasets: [{
            label: '총 판매',
            data: values,
            backgroundColor: 'rgba(75, 192, 192, 0.2)',
            borderColor: 'rgba(75, 192, 192, 1)',
            borderWidth: 1
          }]
        },
        options: {
          scales: {
            y: {
              beginAtZero: true
            }
          }
        }
      });
    }
  }
}
</script>
<p>

4. 실용적인 프로젝트 제안

빅 데이터 시나리오에서 차트의 렌더링 효율성을 더욱 향상시키기 위해 다음 전략을 결합 할 수 있습니다.

  • Pagination 또는 Server-Side Aggregation Processing : 모든 데이터를 한 번에로드하지 마십시오.
  • 캐시에 일반적으로 사용되는 쿼리 : 예를 들어 Redis를 사용하여 반복적 인 액세스가 높은 통계를 저장합니다.
  • 프론트 엔드의 게으른로드 차트 : 페이지의 첫 번째 화면의 속도를 향상시키기 위해 주문형 렌더링.

요약

PHP의 강력한 데이터 처리 기능을 Vue.js의 Flexible 프론트 엔드 구성 요소와 결합하고 Chart.js 비주얼 차트와 결합하여 대형 데이터 세트의 그래픽 표시 요구를 쉽게 처리 할 수 ​​있습니다. 이 방법은 특히 전자 상거래, 재무 분석, 사용자 행동 추적 및 기타 시나리오에서 실용적입니다. 이 튜토리얼이 프로젝트에 도움이되기를 바랍니다.