Current Location: Home> Latest Articles> PHP and Vue.js Integration: Practical Data Visualization Tutorial

PHP and Vue.js Integration: Practical Data Visualization Tutorial

M66 2025-06-12

Introduction

In today's information-driven era, data analysis and visualization have become essential in every industry. For web development, the combination of PHP as a back-end language and Vue.js as a front-end framework not only enjoys widespread use but also increases development efficiency and flexibility. In this article, we will introduce how to use PHP and Vue.js together to achieve data visualization analysis with statistical charts.

1. Why Choose PHP and Vue.js?

PHP, as a server-side scripting language, has a wide range of applications. Vue.js, on the other hand, is a progressive JavaScript framework, particularly suitable for building single-page applications. By combining both, we can implement a front-end and back-end separation architecture that improves both development efficiency and flexibility.

2. Preparing for Development

Before starting development, we need to ensure that the PHP environment is properly installed and the working directory is ready. Next, we need to install Vue.js and some common data visualization libraries. Here are some commonly used libraries and their installation commands:

  1. Vue.js: Progressive JavaScript framework
    npm install vue
  2. Echarts.js: A powerful data visualization library
    npm install echarts
  3. Axios.js: A promise-based HTTP library for asynchronous requests
    npm install axios

3. Setting Up the Project Directory Structure

Create the following directory structure within the working directory:

  • css
  • -- style.css
  • js
  • -- main.js
  • php
  • -- data.php
  • index.html

In the css directory, create a style.css file to define styles, such as the size of the chart container.

In the js directory, create a main.js file to write the Vue.js related code.

In the php directory, create a data.php file to simulate the back-end data.

The index.html file will serve as the entry point for the project.

4. Preparing the Data

In the data.php file, we can simulate some back-end data to demonstrate the creation of statistical charts. For example:

  <?php
  $data = [
    ['name' => 'A', 'value' => 100],
    ['name' => 'B', 'value' => 200],
    ['name' => 'C', 'value' => 300],
    ['name' => 'D', 'value' => 400],
    ['name' => 'E', 'value' => 500]
  ];
  echo json_encode($data);
  ?>
  

This code creates an array named $data and converts it into a JSON format for the Vue.js framework to process.

5. Vue.js Code

In the main.js file, we import the necessary libraries and write the Vue.js code:

  import Vue from 'vue';
  import axios from 'axios';
  import echarts from 'echarts';

  new Vue({
    el: '#app',
    data: {
      chartData: []
    },
    created() {
      this.fetchData();
    },
    methods: {
      fetchData() {
        axios.get('./php/data.php')
          .then(response => {
            this.chartData = response.data;
            this.drawChart();
          })
          .catch(error => {
            console.log(error);
          });
      },
      drawChart() {
        var chart = echarts.init(document.getElementById('chart-container'));
        var option = {
          title: {
            text: 'Data Statistics Chart'
          },
          xAxis: {
            type: 'category',
            data: this.chartData.map(item => item.name)
          },
          yAxis: {
            type: 'value'
          },
          series: [{
            data: this.chartData.map(item => item.value),
            type: 'bar'
          }]
        };
        chart.setOption(option);
      }
    }
  });
  

6. HTML Page Code

In the index.html file, we write the HTML code and import the required CSS and JS files:

  <meta charset="utf-8">
  <title>PHP and Vue.js Practical Tutorial</title>
  <link rel="stylesheet" type="text/css" href="./css/style.css">
  <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script>
  <script src="./js/main.js"></script>
  

In this HTML code, we first import the Vue.js, axios, and echarts library files. We then create an element with the id "app" as the root element of Vue.js and within it, a container with the id "chart-container" for displaying the chart.

7. Running the Project

In the terminal, navigate to the project directory and run the following command to start the project:

npm run serve

If successful, you can view the generated chart at http://localhost:8080.

8. Conclusion

By combining PHP and Vue.js, we successfully implemented a data visualization analysis feature. In this tutorial, we used PHP to simulate back-end data and leveraged Vue.js along with the echarts library to generate statistical charts, achieving data visualization. We hope this tutorial helps developers better understand how to implement data visualization in real-world projects.