Table des matières
员工考勤系统
员工考勤详情
Maison développement back-end tutoriel php Comment utiliser PHP et Vue pour concevoir un affichage graphique statistique du système de présence des employés

Comment utiliser PHP et Vue pour concevoir un affichage graphique statistique du système de présence des employés

Sep 24, 2023 am 09:39 AM
php vue 考勤系统

Comment utiliser PHP et Vue pour concevoir un affichage graphique statistique du système de présence des employés

Comment utiliser PHP et Vue pour concevoir un affichage graphique statistique du système de présence des employés

Ces dernières années, avec le développement continu de la technologie, les entreprises ont des exigences de plus en plus élevées en matière de gestion de la présence des employés. Afin de mieux compter et afficher les données de présence des employés, il est très important de concevoir un système de présence des employés et de réaliser un affichage visuel des données.

Cet article expliquera comment utiliser PHP et Vue pour concevoir un système de présence des employés et afficher des graphiques statistiques.

1. Conception du système

Tout d'abord, nous devons concevoir une base de données pour stocker les données de présence des employés. Les données de présence comprennent le nom de l'employé, la date de présence, le temps de travail, les heures d'arrêt et d'autres informations. Vous pouvez utiliser MySQL ou d'autres bases de données relationnelles pour créer la base de données et concevoir la structure de table correspondante.

2. Développement back-end

Utilisez PHP pour implémenter la logique back-end du système. Nous devons créer des fichiers PHP pour gérer les requêtes du front-end et interagir avec la base de données.

Tout d'abord, créez un fichier d'interface pour gérer les requêtes frontales, tel que api.php. Dans ce fichier, vous pouvez définir certaines fonctions d'interface pour gérer les opérations d'ajout, de suppression, de modification et d'interrogation des données de présence des employés. api.php。在该文件中,可以定义一些接口函数来处理员工考勤数据的增删改查操作。

<?php

// 连接数据库
$conn = new mysqli('localhost', 'username', 'password', 'database');
// 设定字符集
$conn->set_charset('utf8');

// 增加员工考勤数据
function addAttendance($name, $date, $start, $end) {
    global $conn;
    // 执行插入操作
    $sql = "INSERT INTO attendance (name, date, start, end) VALUES ('$name', '$date', '$start', '$end')";
    $conn->query($sql);
    // 返回结果
    return ['status' => 'success'];
}

// 获取员工考勤数据
function getAttendance($name, $date) {
    global $conn;
    // 执行查询操作
    $sql = "SELECT * FROM attendance WHERE name = '$name' AND date = '$date'";
    $result = $conn->query($sql);
    // 返回结果
    return ['status' => 'success', 'data' => $result->fetch_assoc()];
}

// ...其他接口函数,比如更新和删除员工考勤数据的函数

?>
Copier après la connexion

接下来,我们需要创建一个用于与前端页面交互的文件,比如index.php

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>员工考勤系统</title>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/vue/dist/vue.css">
</head>
<body>
    <div id="app">
        <!-- 前端页面内容 -->
    </div>

    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    <script>
        new Vue({
            el: '#app',
            // 前端页面逻辑
        });
    </script>
</body>
</html>
Copier après la connexion

Ensuite, nous devons créer un fichier pour interagir avec la page front-end, tel que index.php. Dans ce fichier, nous pouvons utiliser Vue pour gérer l'affichage de la page frontale et l'interaction de l'utilisateur.

Tout d'abord, introduisez les fichiers liés à Vue et créez une instance Vue.

new Vue({
    el: '#app',
    data: {
        name: '',
        date: '',
        start: '',
        end: '',
        attendance: null
    },
    methods: {
        addAttendance: function() {
            // 调用后端接口来增加员工考勤数据
            // 可以使用axios等库发送POST请求到api.php
        },
        getAttendance: function() {
            // 调用后端接口来获取员工考勤数据
            // 可以使用axios等库发送GET请求到api.php
        }
        // ...其他方法
    }
});
Copier après la connexion

Ensuite, dans l'instance Vue, définissez certaines méthodes pour gérer le comportement interactif de l'utilisateur et interagissez avec le backend via les fonctions d'interface définies précédemment.

<div id="app">
    <h2 id="员工考勤系统">员工考勤系统</h2>
    <input type="text" v-model="name" placeholder="请输入员工姓名">
    <input type="text" v-model="date" placeholder="请输入考勤日期">
    <input type="text" v-model="start" placeholder="请输入上班时间">
    <input type="text" v-model="end" placeholder="请输入下班时间">
    <button @click="addAttendance">提交</button>
    <button @click="getAttendance">查询</button>
    <div v-if="attendance">
        <h3 id="员工考勤详情">员工考勤详情</h3>
        <p>姓名:{{ attendance.name }}</p>
        <p>日期:{{ attendance.date }}</p>
        <p>上班时间:{{ attendance.start }}</p>
        <p>下班时间:{{ attendance.end }}</p>
    </div>
    <!-- 使用ECharts展示图表 -->
    <div id="chart" style="width: 600px;height:400px;"></div>
</div>

<!-- 引入ECharts脚本 -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/echarts/4.8.0/echarts.min.js"></script>
<script>
    new Vue({
        el: '#app',
        data: {
            name: '',
            date: '',
            start: '',
            end: '',
            attendance: null
        },
        methods: {
            addAttendance: function() {
                // 调用后端接口来增加员工考勤数据
                // 可以使用axios等库发送POST请求到api.php
            },
            getAttendance: function() {
                // 调用后端接口来获取员工考勤数据
                // 可以使用axios等库发送GET请求到api.php
            }
            // ...其他方法
        },
        mounted: function() {
            // 页面加载时获取员工考勤数据,并绘制图表
            // 在getAttendance函数中获取数据后,调用绘制图表的方法
        }
    });
</script>
Copier après la connexion
3. Développement front-end

Utilisez Vue pour concevoir la page front-end et utilisez certaines bibliothèques de graphiques pour afficher les statistiques de présence des employés. Dans l'instance Vue, les données sont obtenues via la fonction d'interface définie précédemment et restituées dans la page.

Introduisez une bibliothèque de graphiques, telle que ECharts, dans la page frontale et utilisez cette bibliothèque pour dessiner des graphiques. Différents graphiques peuvent être conçus en fonction de besoins spécifiques, tels que des graphiques à barres, des graphiques linéaires, etc.

rrreee

Grâce à la mise en œuvre des étapes ci-dessus, nous pouvons concevoir un système de présence des employés implémenté à l'aide de PHP et Vue, et afficher les statistiques de présence des employés sous forme de graphiques. Bien entendu, la mise en œuvre spécifique doit encore être ajustée et améliorée en fonction des besoins spécifiques. 🎜

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment ajouter des fonctions aux boutons pour Vue Comment ajouter des fonctions aux boutons pour Vue Apr 08, 2025 am 08:51 AM

Vous pouvez ajouter une fonction au bouton VUE en liant le bouton dans le modèle HTML à une méthode. Définissez la logique de la fonction de méthode et d'écriture dans l'instance Vue.

L'avenir de PHP: adaptations et innovations L'avenir de PHP: adaptations et innovations Apr 11, 2025 am 12:01 AM

L'avenir de PHP sera réalisé en s'adaptant aux nouvelles tendances technologiques et en introduisant des fonctionnalités innovantes: 1) s'adapter aux architectures de cloud computing, de conteneurisation et de microservice, en prenant en charge Docker et Kubernetes; 2) introduire des compilateurs JIT et des types d'énumération pour améliorer l'efficacité des performances et du traitement des données; 3) Optimiser en continu les performances et promouvoir les meilleures pratiques.

Comment utiliser ForEach Loop à Vue Comment utiliser ForEach Loop à Vue Apr 08, 2025 am 06:33 AM

La boucle Foreach dans Vue.js utilise la directive V-FOR, qui permet aux développeurs d'itérer à travers chaque élément dans un tableau ou un objet et effectuer des opérations spécifiques sur chaque élément. La syntaxe est la suivante: & lt; modèle & gt; & lt; ul & gt; & lt; li v-for = & quot; item in items & gt; & gt; {{item}} & lt; / li & gt; & lt; / ul & gt; & lt; / template & gt; & am

Comment utiliser la fonction interception vue Comment utiliser la fonction interception vue Apr 08, 2025 am 06:51 AM

L'interception de la fonction dans Vue est une technique utilisée pour limiter le nombre de fois qu'une fonction est appelée dans une période de temps spécifiée et prévenir les problèmes de performance. La méthode d'implémentation est: Importer la bibliothèque Lodash: import {Debounce} de 'Lodash'; Utilisez la fonction Debounce pour créer une fonction d'interception: const debouncedFunction = Debounce (() = & gt; {/ logical /}, 500); Appelez la fonction d'interception et la fonction de contrôle est appelée au plus une fois en 500 millisecondes.

Comment sauter à la div de Vue Comment sauter à la div de Vue Apr 08, 2025 am 09:18 AM

Il existe deux façons de sauter des éléments div dans Vue: Utilisez le routeur Vue et ajoutez le composant routeur-link. Ajoutez l'écouteur de l'événement @Click et appelez ceci. $ Router.push () pour sauter.

Comment utiliser la pagination Vue Comment utiliser la pagination Vue Apr 08, 2025 am 06:45 AM

La pagination est une technologie qui divise de grands ensembles de données en petites pages pour améliorer les performances et l'expérience utilisateur. Dans Vue, vous pouvez utiliser la méthode intégrée suivante pour la pagination: Calculez le nombre total de pages: TotalPages () Numéro de page de traversée: Directive V-FOR pour définir la page actuelle: CurrentPage Obtenez les données de la page actuelle: CurrentPagedata ()

PHP vs Python: comprendre les différences PHP vs Python: comprendre les différences Apr 11, 2025 am 12:15 AM

PHP et Python ont chacun leurs propres avantages, et le choix doit être basé sur les exigences du projet. 1.Php convient au développement Web, avec une syntaxe simple et une efficacité d'exécution élevée. 2. Python convient à la science des données et à l'apprentissage automatique, avec une syntaxe concise et des bibliothèques riches.

Comment sauter une balise à Vue Comment sauter une balise à Vue Apr 08, 2025 am 09:24 AM

Les méthodes pour implémenter le saut d'une balise dans Vue incluent: l'utilisation de la balise A dans le modèle HTML pour spécifier l'attribut HREF. Utilisez le composant routeur-link du routage Vue. Utilisez cette méthode. $ Router.push () dans JavaScript. Les paramètres peuvent être passés à travers le paramètre de requête et les itinéraires sont configurés dans les options de routeur pour les sauts dynamiques.

See all articles