Comment implémenter des graphiques statistiques horizontaux mis à jour dynamiquement en PHP et Vue.js
Avant-propos :
Les graphiques statistiques sont l'un des composants importants de la visualisation de données dans le développement Web, PHP est utilisé comme langage back-end pour le traitement. Stockage et calcul des données, tandis que Vue.js sert de cadre frontal pour la présentation des données et l'interaction des pages. Cet article explique comment combiner PHP et Vue.js pour implémenter des graphiques statistiques horizontaux mis à jour dynamiquement.
1. Préparation
Avant de commencer, nous devons installer et configurer l'environnement suivant :
2. Développement back-end
CREATE TABLE statistics ( id INT AUTO_INCREMENT PRIMARY KEY, value INT );
<?php // 设置响应头 header('Content-Type: application/json'); // 连接数据库 $db = new PDO('mysql:host=localhost;dbname=your_database;charset=utf8', 'your_username', 'your_password'); // 查询数据 $stmt = $db->query('SELECT * FROM statistics'); $statistics = $stmt->fetchAll(PDO::FETCH_ASSOC); // 返回数据 echo json_encode($statistics);
Le code ci-dessus se connecte à la base de données via PDO, interroge les données statistiques, puis renvoie les résultats de la requête au front-end au format JSON.
3. Développement front-end
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>动态更新的水平统计图表</title> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> </head> <body> <div id="app"> <canvas id="chart"></canvas> </div> <script src="app.js"></script> </body> </html>
new Vue({ el: '#app', data: { chartData: [] }, mounted() { this.getChartData(); }, methods: { getChartData() { fetch('api.php') .then(response => response.json()) .then(data => { this.chartData = data.map(item => item.value); this.renderChart(); }) .catch(error => console.error(error)); }, renderChart() { var ctx = document.getElementById('chart').getContext('2d'); new Chart(ctx, { type: 'horizontalBar', data: { labels: ['1月', '2月', '3月', '4月', '5月', '6月'], datasets: [{ label: '销售统计', data: this.chartData, backgroundColor: 'rgba(0,123,255,0.5)' }] }, options: { scales: { yAxes: [{ ticks: { beginAtZero: true } }] } } }); } } });
Le code ci-dessus utilise Vue.js pour créer une Vue. instance, et la méthode getChartData est appelée dans la fonction hook montée, et une requête GET est envoyée via fetch pour obtenir les données renvoyées par l'interface backend. Ensuite, les données sont affectées à chartData et la méthode renderChart est appelée pour restituer les statistiques. graphique.
4. Test d'exécution
Ouvrez le fichier HTML dans le navigateur et vous pourrez voir le graphique statistique horizontal mis à jour dynamiquement. Si de nouvelles données statistiques doivent être ajoutées, les données peuvent être ajoutées en appelant l'interface backend, puis le frontend obtiendra automatiquement les dernières données et mettra à jour le graphique.
Conclusion :
Cet article présente comment implémenter des graphiques statistiques horizontaux mis à jour dynamiquement en PHP et Vue.js. Obtenez des données statistiques de la base de données via l'interface back-end et utilisez Vue.js pour présenter les données sur le front-end et implémenter des mises à jour dynamiques des graphiques. Cette méthode de mise en œuvre peut être appliquée à de nombreux scénarios réels de visualisation de données pour améliorer l'expérience utilisateur et les effets d'affichage des données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!