Rumah pembangunan bahagian belakang tutorial php Cara membuat carta statistik berskala menggunakan PHP dan Vue.js

Cara membuat carta statistik berskala menggunakan PHP dan Vue.js

Aug 18, 2023 pm 04:29 PM
php vuejs Carta statistik

Cara membuat carta statistik berskala menggunakan PHP dan Vue.js

Cara membuat carta statistik berskala menggunakan PHP dan Vue.js

Dengan perkembangan Internet dan teknologi data, carta statistik telah menjadi cara penting untuk memaparkan data. Sama ada dalam laporan analisis perusahaan atau produk visualisasi data, anda boleh melihat pelbagai bentuk carta statistik. Dalam artikel ini, kami akan memperkenalkan cara menggunakan PHP dan Vue.js untuk mencipta carta statistik berskala, membolehkan anda memaparkan dan menganalisis data anda dengan lebih baik.

1. Persediaan

Sebelum kita mula, kita perlu menyediakan beberapa alatan dan persekitaran asas:

  1. Persekitaran pembangunan PHP: Anda boleh menggunakan XAMPP, WAMP dan alatan lain untuk membina persekitaran pembangunan PHP tempatan.
  2. Vue.js: Vue.js ialah rangka kerja progresif untuk membina antara muka pengguna dan kami akan menggunakannya untuk membina komponen bahagian hadapan.
  3. Chart.js: Chart.js ialah perpustakaan carta bahagian hadapan yang sangat baik yang menyediakan berbilang jenis carta dan pilihan konfigurasi yang fleksibel.
  4. Pangkalan Data: Untuk kemudahan demonstrasi, kami akan menggunakan MySQL sebagai pangkalan data, anda boleh memilih jenis pangkalan data lain mengikut keperluan sebenar.

2. Cipta pangkalan data dan jadual data

Kita perlu mencipta pangkalan data dan membuat jadual data di dalamnya untuk menyimpan data kita.

CREATE DATABASE `chart_example`;

USE `chart_example`;

CREATE TABLE `data` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `date` date NOT NULL,
  `value` int(11) NOT NULL,
  PRIMARY KEY (`id`)
);
Salin selepas log masuk

3 Cipta API PHP

Seterusnya, kami akan buat API PHP untuk mendapatkan data yang kami perlukan.

<?php

$db_host = "localhost";
$db_name = "chart_example";
$db_user = "root";
$db_password = "";

try {
  $db = new PDO("mysql:host=$db_host;dbname=$db_name;charset=utf8", $db_user, $db_password);
  $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
  die("数据库连接失败:" . $e->getMessage());
}

$result = $db->query("SELECT * FROM `data`");

$data = array();
while($row = $result->fetch(PDO::FETCH_ASSOC)) {
  $data[] = $row;
}

header("Content-type: application/json");
echo json_encode($data);
Salin selepas log masuk

Dalam kod di atas, kami menyambung ke pangkalan data melalui PDO, melaksanakan pernyataan pertanyaan mudah untuk mendapatkan data, dan kemudian mengembalikan data dalam format JSON.

4 Cipta komponen Vue.js

Seterusnya, kami akan menggunakan Vue.js untuk mencipta komponen carta statistik berskala.

<template>
  <div>
    <canvas ref="chart" width="800" height="400"></canvas>
  </div>
</template>

<script>
  import Chart from 'chart.js/auto';

  export default {
    mounted() {
      this.getData().then(data => {
        this.drawChart(data);
      });
    },
    methods: {
      getData() {
        return fetch('/api/data.php')
          .then(response => response.json())
          .then(data => data);
      },
      drawChart(data) {
        const ctx = this.$refs.chart.getContext('2d');
        new Chart(ctx, {
          type: 'line',
          data: {
            labels: data.map(item => item.date),
            datasets: [{
              label: 'Value',
              data: data.map(item => item.value),
              borderColor: 'rgb(75, 192, 192)',
              tension: 0.1
            }]
          },
          options: {
            responsive: true,
            maintainAspectRatio: false,
            scales: {
              x: {
                type: 'time',
                time: {
                  unit: 'day'
                }
              },
              y: {
                beginAtZero: true
              }
            }
          }
        });
      }
    }
  };
</script>
Salin selepas log masuk

Dalam kod di atas, kami mendapat data daripada API PHP melalui fungsi ambil, dan kemudian gunakan Chart.js untuk melukis carta garis. Kami mentakrifkan tatasusunan tarikh dan nilai dalam data, dan memanggil kaedah drawChart dalam fungsi yang dipasang untuk melukis carta.

5 Menggunakan komponen

Akhir sekali, kami akan menggunakan komponen yang baru kami buat dalam contoh Vue.js.

<template>
  <div>
    <chart></chart>
  </div>
</template>

<script>
  import Chart from './Chart.vue';

  export default {
    components: {
      Chart
    }
  };
</script>
Salin selepas log masuk

Dalam kod di atas, kami memperkenalkan komponen Carta yang baru kami buat melalui penyata import dan mendaftarkannya sebagai komponen Vue.js. Kemudian, gunakan dalam templat untuk menggunakan komponen kami.

6 Jalankan dan uji

Sekarang, kami memulakan persekitaran pembangunan PHP kami dan memuatkan komponen Vue.js kami.

Anda akan melihat carta statistik boleh dizum menunjukkan data yang kami peroleh daripada pangkalan data. Anda boleh menguji kebolehskalaan carta dengan menambahkan lebih banyak data pada jadual data.

Ringkasan

Melalui langkah di atas, kami berjaya mencipta carta statistik boleh skala menggunakan PHP dan Vue.js. Dengan pilihan konfigurasi yang fleksibel, kami boleh menyesuaikan bentuk dan gaya carta dengan mudah yang kami perlukan. Saya harap artikel ini akan membantu pembelajaran dan aplikasi visualisasi data anda.

Atas ialah kandungan terperinci Cara membuat carta statistik berskala menggunakan PHP dan Vue.js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Tarikh dan Masa CakePHP Tarikh dan Masa CakePHP Sep 10, 2024 pm 05:27 PM

Untuk bekerja dengan tarikh dan masa dalam cakephp4, kami akan menggunakan kelas FrozenTime yang tersedia.

CakePHP Bekerja dengan Pangkalan Data CakePHP Bekerja dengan Pangkalan Data Sep 10, 2024 pm 05:25 PM

Bekerja dengan pangkalan data dalam CakePHP adalah sangat mudah. Kami akan memahami operasi CRUD (Buat, Baca, Kemas Kini, Padam) dalam bab ini.

Muat naik Fail CakePHP Muat naik Fail CakePHP Sep 10, 2024 pm 05:27 PM

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

Penghalaan CakePHP Penghalaan CakePHP Sep 10, 2024 pm 05:25 PM

Dalam bab ini, kita akan mempelajari topik berikut yang berkaitan dengan penghalaan ?

Bincangkan CakePHP Bincangkan CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Pengesah Mencipta CakePHP Pengesah Mencipta CakePHP Sep 10, 2024 pm 05:26 PM

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.

Pembalakan CakePHP Pembalakan CakePHP Sep 10, 2024 pm 05:26 PM

Log masuk CakePHP adalah tugas yang sangat mudah. Anda hanya perlu menggunakan satu fungsi. Anda boleh log ralat, pengecualian, aktiviti pengguna, tindakan yang diambil oleh pengguna, untuk sebarang proses latar belakang seperti cronjob. Mengelog data dalam CakePHP adalah mudah. Fungsi log() disediakan

See all articles