Rumah pembangunan bahagian belakang tutorial php Cara menggunakan PHP dan Vue untuk mereka bentuk fungsi penapisan data sistem kehadiran pekerja

Cara menggunakan PHP dan Vue untuk mereka bentuk fungsi penapisan data sistem kehadiran pekerja

Sep 24, 2023 pm 06:09 PM
penapisan data php reka bentuk vue Sistem kehadiran pekerja

Cara menggunakan PHP dan Vue untuk mereka bentuk fungsi penapisan data sistem kehadiran pekerja

Cara menggunakan PHP dan Vue untuk mereka bentuk fungsi penapisan data sistem kehadiran pekerja

Merancang sistem kehadiran pekerja yang cekap adalah penting untuk perusahaan Yang penting, ia boleh membantu syarikat menguruskan kehadiran pekerja, meninggalkan rekod dan maklumat lain. Dalam sistem ini, fungsi penapisan data adalah bahagian yang sangat diperlukan, yang membolehkan pengguna menapis rekod kehadiran pekerja dengan mudah yang memenuhi syarat tertentu. Artikel ini akan memperkenalkan cara menggunakan PHP dan Vue untuk mereka bentuk dan melaksanakan fungsi penapisan data sistem kehadiran pekerja, dan menyediakan contoh kod khusus.

1. Pelaksanaan PHP belakang

Dalam PHP bahagian belakang, kita boleh menggunakan penyata SQL untuk menanyakan rekod kehadiran pekerja yang memenuhi syarat. Pertama, anda perlu menyambung ke pangkalan data Berikut adalah MySQL sebagai contoh:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

<?php

$servername = "localhost";

$username = "username";

$password = "password";

$dbname = "attendance_system";

 

// 创建数据库连接

$conn = new mysqli($servername, $username, $password, $dbname);

 

// 检查连接是否成功

if ($conn->connect_error) {

    die("连接失败: " . $conn->connect_error);

}

 

// 获取前端传递过来的筛选条件

$department = $_POST['department'];

$start_date = $_POST['start_date'];

$end_date = $_POST['end_date'];

 

// 构建查询SQL语句

$sql = "SELECT * FROM attendance WHERE department = '$department' AND date BETWEEN '$start_date' AND '$end_date'";

 

$result = $conn->query($sql);

 

// 将查询结果转换为数组并返回给前端

$response = array();

if ($result->num_rows > 0) {

    while($row = $result->fetch_assoc()) {

        $response[] = $row;

    }

}

echo json_encode($response);

$conn->close();

?>

Salin selepas log masuk

Dalam kod di atas, kami mula-mula membuat sambungan pangkalan data, dapatkan syarat penapis yang diluluskan oleh bahagian hadapan, dan kemudian bina pernyataan SQL pertanyaan, dan tukar hasil pertanyaan kepada tatasusunan dan kembalikannya ke bahagian hadapan.

2. Pelaksanaan Vue bahagian hadapan

Dalam Vue bahagian hadapan, kami boleh menggunakan axios untuk menghantar permintaan tak segerak dan mendapatkan data yang dikembalikan oleh bahagian belakang. Mula-mula, anda perlu memasang axios:

1

npm install axios --save

Salin selepas log masuk

Kemudian, gunakan axios dalam komponen Vue untuk menghantar permintaan dan memproses data yang dikembalikan:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

<template>

  <div>

    <select v-model="department">

      <option disabled value="">请选择部门</option>

      <option v-for="dept in departments" :value="dept">{{dept}}</option>

    </select>

    <input type="date" v-model="startDate">

    <input type="date" v-model="endDate">

    <button @click="filterData">筛选</button>

    <table>

      <thead>

        <tr>

          <th>员工姓名</th>

          <th>打卡日期</th>

          <th>上班时间</th>

          <th>下班时间</th>

        </tr>

      </thead>

      <tbody>

        <tr v-for="record in attendanceRecords" :key="record.id">

          <td>{{record.name}}</td>

          <td>{{record.date}}</td>

          <td>{{record.start_time}}</td>

          <td>{{record.end_time}}</td>

        </tr>

      </tbody>

    </table>

  </div>

</template>

 

<script>

import axios from 'axios';

 

export default {

  data() {

    return {

      department: '',

      startDate: '',

      endDate: '',

      departments: ['部门A', '部门B', '部门C'], // 假设已经获取了部门列表

      attendanceRecords: []

    }

  },

  methods: {

    filterData() {

      axios.post('http://localhost/filter.php', {

        department: this.department,

        start_date: this.startDate,

        end_date: this.endDate

      })

      .then(response => {

        this.attendanceRecords = response.data;

      })

      .catch(error => {

        console.error(error);

      });

    }

  }

}

</script>

Salin selepas log masuk

Dalam kod di atas, kami menggunakan Pengikatan data dua hala Vue Wujudkan mekanisme untuk mendapatkan jabatan, tarikh mula dan tarikh akhir yang dipilih oleh pengguna, dan gunakan axios untuk menghantar permintaan POST ke skrip PHP bahagian belakang. Kemudian, tetapkan data yang dikembalikan kepada this.attendanceRecords dan paparkannya di bahagian hadapan.

Melalui langkah di atas, fungsi penapisan data sistem kehadiran pekerja dapat direalisasikan. Pengguna boleh memilih jabatan, tarikh mula dan tarikh tamat Selepas mengklik butang penapis, bahagian hadapan akan menghantar syarat penapis ini ke skrip PHP bahagian belakang untuk pertanyaan, dan memaparkan hasil pertanyaan kepada pengguna.

Semoga contoh kod di atas dapat membantu anda melaksanakan fungsi penapisan data semasa mereka bentuk sistem kehadiran pekerja. Sudah tentu, pelaksanaan khusus perlu disesuaikan dengan sewajarnya mengikut keperluan perniagaan anda.

Atas ialah kandungan terperinci Cara menggunakan PHP dan Vue untuk mereka bentuk fungsi penapisan data sistem kehadiran pekerja. 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

Tag artikel 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)

11 skrip pemendek URL terbaik PHP (percuma dan premium) 11 skrip pemendek URL terbaik PHP (percuma dan premium) Mar 03, 2025 am 10:49 AM

11 skrip pemendek URL terbaik PHP (percuma dan premium)

Bekerja dengan Data Sesi Flash di Laravel Bekerja dengan Data Sesi Flash di Laravel Mar 12, 2025 pm 05:08 PM

Bekerja dengan Data Sesi Flash di Laravel

Pengenalan kepada API Instagram Pengenalan kepada API Instagram Mar 02, 2025 am 09:32 AM

Pengenalan kepada API Instagram

Respons HTTP yang dipermudahkan dalam ujian Laravel Respons HTTP yang dipermudahkan dalam ujian Laravel Mar 12, 2025 pm 05:09 PM

Respons HTTP yang dipermudahkan dalam ujian Laravel

Bina aplikasi React dengan hujung belakang Laravel: Bahagian 2, React Bina aplikasi React dengan hujung belakang Laravel: Bahagian 2, React Mar 04, 2025 am 09:33 AM

Bina aplikasi React dengan hujung belakang Laravel: Bahagian 2, React

Curl dalam PHP: Cara Menggunakan Pelanjutan PHP Curl dalam API REST Curl dalam PHP: Cara Menggunakan Pelanjutan PHP Curl dalam API REST Mar 14, 2025 am 11:42 AM

Curl dalam PHP: Cara Menggunakan Pelanjutan PHP Curl dalam API REST

12 skrip sembang php terbaik di codecanyon 12 skrip sembang php terbaik di codecanyon Mar 13, 2025 pm 12:08 PM

12 skrip sembang php terbaik di codecanyon

Pemberitahuan di Laravel Pemberitahuan di Laravel Mar 04, 2025 am 09:22 AM

Pemberitahuan di Laravel

See all articles