Home > Backend Development > PHP Tutorial > How to use PHP to implement the task approval function of WeChat applet?

How to use PHP to implement the task approval function of WeChat applet?

WBOY
Release: 2023-10-27 18:40:01
Original
920 people have browsed it

How to use PHP to implement the task approval function of WeChat applet?

How to use PHP to implement the task approval function of WeChat applet?

With the popularity and development of WeChat mini programs, more and more companies and organizations have begun to build their own business systems on mini programs. Among them, the task approval function is a common requirement. This article will introduce how to use PHP language to implement the task approval function of WeChat applet and provide specific code examples.

1. Preparation work
Before we start, we need to prepare the following environment and resources:

  1. WeChat mini program development environment: You need to register a mini program on the WeChat public platform program, and build a small program development environment locally.
  2. PHP development environment: You need to build a PHP development environment locally. You can use xampp, wamp, lamp and other tools.
  3. Database: You need to create a database to store task information and approval records. Relational databases such as MySQL and SQLite can be used.
  4. Mini program development: You need to use the mini program development tool to design and develop the mini program page, and obtain the AppID of the mini program.

2. Database design
Before we start writing code, we need to design the database table structure to store task information and approval records.

  1. Task table (task)
    Fields: task ID (task_id, primary key), task name (task_name), task content (task_content), initiator (creator_id), approver (approver_id) , approval status (status), creation time (create_time), etc.
  2. Approval record table (approval_history)
    Fields: record ID (history_id, primary key), task ID (task_id, foreign key), approver (approver_id), approval time (approval_time), approval result (result )wait.

3. Back-end code implementation

  1. Connect to database

    <?php
      $servername = "localhost";
      $username = "your_username";
      $password = "your_password";
      $dbname = "your_database";
    
      $conn = new mysqli($servername, $username, $password, $dbname);
    
      if ($conn->connect_error) {
       die("连接失败: " . $conn->connect_error);
      }
    ?>
    Copy after login
  2. Create task

    <?php
      $task_name = $_POST['task_name'];
      $task_content = $_POST['task_content'];
      $creator_id = $_POST['creator_id'];
      $approver_id = $_POST['approver_id'];
    
      $sql = "INSERT INTO task (task_name, task_content, creator_id, approver_id, status, create_time) VALUES ('$task_name', '$task_content', '$creator_id', '$approver_id', 'pending', NOW())";
    
      if ($conn->query($sql) === TRUE) {
       $result = array('code' => 200, 'message' => '任务创建成功');
      } else {
       $result = array('code' => 500, 'message' => '任务创建失败');
      }
    
      echo json_encode($result);
    ?>
    Copy after login
  3. Query task list

    <?php
      $creator_id = $_GET['creator_id'];
    
      $sql = "SELECT * FROM task WHERE creator_id = '$creator_id'";
    
      $result = $conn->query($sql);
    
      if ($result->num_rows > 0) {
       $tasks = array();
       while($row = $result->fetch_assoc()) {
         $tasks[] = $row;
       }
       $result = array('code' => 200, 'message' => '查询成功', 'data' => $tasks);
      } else {
       $result = array('code' => 500, 'message' => '查询失败');
      }
    
      echo json_encode($result);
    ?>
    Copy after login
  4. Approval task

    <?php
      $history_id = $_POST['history_id'];
      $task_id = $_POST['task_id'];
      $approver_id = $_POST['approver_id'];
      $result = $_POST['result'];
    
      $sql = "INSERT INTO approval_history (history_id, task_id, approver_id, approval_time, result) VALUES ('$history_id', '$task_id', '$approver_id', NOW(), '$result')";
    
      if ($conn->query($sql) === TRUE) {
       // 更新任务状态
       $update_sql = "UPDATE task SET status = '$result' WHERE task_id = '$task_id'";
       $conn->query($update_sql);
    
       $result = array('code' => 200, 'message' => '审批成功');
      } else {
       $result = array('code' => 500, 'message' => '审批失败');
      }
    
      echo json_encode($result);
    ?>
    Copy after login

4. Mini terminal code implementation

  1. Create task page (createTask)

    Page({
      data: {
     task_name: '',
     task_content: '',
     creator_id: '',
     approver_id: '',
      },
      createTask: function() {
     wx.request({
       url: 'https://your_domain.com/create_task.php',
       method: 'POST',
       data: {
         task_name: this.data.task_name,
         task_content: this.data.task_content,
         creator_id: this.data.creator_id,
         approver_id: this.data.approver_id,
       },
       success: function(res) {
         console.log(res.data);
         if (res.data.code === 200) {
           wx.showToast({
             title: '任务创建成功',
           });
         } else {
           wx.showToast({
             title: '任务创建失败',
             icon: 'none',
           });
         }
       },
       fail: function() {
         wx.showToast({
           title: '请求失败',
           icon: 'none',
         });
       },
     });
      },
    });
    Copy after login
  2. Query task list page (taskList)

    Page({
      data: {
     creator_id: '',
     tasks: [],
      },
      onLoad: function() {
     var that = this;
     wx.request({
       url: 'https://your_domain.com/query_task.php',
       data: {
         creator_id: this.data.creator_id,
       },
       success: function(res) {
         console.log(res.data);
         if (res.data.code === 200) {
           that.setData({
             tasks: res.data.data,
           });
         } else {
           wx.showToast({
             title: '查询失败',
             icon: 'none',
           });
         }
       },
       fail: function() {
         wx.showToast({
           title: '请求失败',
           icon: 'none',
         });
       },
     });
      },
    });
    Copy after login
  3. Approval task page ( approveTask)

    Page({
      data: {
     history_id: '',
     task_id: '',
     approver_id: '',
     result: '',
      },
      approveTask: function() {
     wx.request({
       url: 'https://your_domain.com/approve_task.php',
       method: 'POST',
       data: {
         history_id: this.data.history_id,
         task_id: this.data.task_id,
         approver_id: this.data.approver_id,
         result: this.data.result,
       },
       success: function(res) {
         console.log(res.data);
         if (res.data.code === 200) {
           wx.showToast({
             title: '审批成功',
           });
         } else {
           wx.showToast({
             title: '审批失败',
             icon: 'none',
           });
         }
       },
       fail: function() {
         wx.showToast({
           title: '请求失败',
           icon: 'none',
         });
       },
     });
      },
    });
    Copy after login

The above is a simple example of using PHP to implement the task approval function of the WeChat applet. Of course, more situations need to be considered in actual applications, such as data verification, user permissions, etc. hope that it can help us.

The above is the detailed content of How to use PHP to implement the task approval function of WeChat applet?. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template