Home  >  Article  >  Backend Development  >  Use PHP and Vue to implement the function of doubling membership points after payment

Use PHP and Vue to implement the function of doubling membership points after payment

PHPz
PHPzOriginal
2023-09-25 09:00:531019browse

Use PHP and Vue to implement the function of doubling membership points after payment

Use PHP and Vue to realize the function of doubling member points after payment

In e-commerce platforms, points are a common member benefit that can be used as a user Ways to get cash back after shopping. In order to stimulate users' enthusiasm for shopping, we can add points doubling activities during a specific period or on specific products, that is, the points earned by users after purchase will be doubled accordingly. This article will use PHP and Vue to implement this function.

PHP is a commonly used server-side scripting language that can be used to handle background logic and interact with databases. Vue is a popular front-end framework that can be used to build user interfaces.

First, we need to create a database table to store the user's points information. Create a table named "users" in the database, containing the following fields:

  • id: user ID (primary key, auto-increment)
  • username: user name
  • points: User points

Then, we need to create a PHP file to handle the point doubling logic after the user pays. We can name this file double_points.php. The following is a simplified sample code:

<?php
// 连接数据库
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test";

$conn = mysqli_connect($servername, $username, $password, $dbname);

// 获取用户ID和支付金额
$userId = $_POST['userId'];
$paymentAmount = $_POST['paymentAmount'];

// 查询用户当前积分
$sql = "SELECT points FROM users WHERE id = $userId";
$result = mysqli_query($conn, $sql);
$row = mysqli_fetch_assoc($result);
$currentPoints = $row['points'];

// 计算翻倍后的积分
$doublePoints = $paymentAmount * 2;

// 更新用户积分
$sql = "UPDATE users SET points = points + $doublePoints WHERE id = $userId";
mysqli_query($conn, $sql);

// 返回更新后的用户积分信息
$sql = "SELECT points FROM users WHERE id = $userId";
$result = mysqli_query($conn, $sql);
$row = mysqli_fetch_assoc($result);
$newPoints = $row['points'];

// 返回结果
$response = [
    'message' => '积分翻倍成功',
    'newPoints' => $newPoints
];

echo json_encode($response);
mysqli_close($conn);
?>

Next, we need to call this PHP file in the front-end page and handle the payment and points doubling logic through Vue. The following is a simplified sample code:

<!DOCTYPE html>
<html>
<head>
    <title>支付积分翻倍</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.6.12"></script>
    <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
</head>
<body>
    <div id="app">
        <h1>支付积分翻倍</h1>
        <p>当前积分: {{ currentPoints }}</p>
        <p>支付金额: <input v-model="paymentAmount"></p>
        <p>翻倍后积分: {{ newPoints }}</p>
        <button v-on:click="doublePoints">支付</button>
    </div>

    <script>
    new Vue({
        el: '#app',
        data: {
            currentPoints: 0,
            paymentAmount: 0,
            newPoints: 0
        },
        methods: {
            doublePoints: function() {
                var self = this;
                axios.post('double_points.php', {
                    userId: 1, // 用户ID
                    paymentAmount: this.paymentAmount
                })
                .then(function (response) {
                    self.newPoints = response.data.newPoints;
                    alert(response.data.message);
                })
                .catch(function (error) {
                    console.log(error);
                });
            }
        },
        mounted: function() {
            // 初始化用户当前积分
            this.currentPoints = 100; // 假设用户当前积分为100,可以从服务器获取
        }
    })
    </script>
</body>
</html>

The above is the sample code that uses PHP and Vue to implement the function of doubling member points after payment. In actual applications, you may need to adjust and optimize based on specific needs and business logic.

The above is the detailed content of Use PHP and Vue to implement the function of doubling membership points after payment. For more information, please follow other related articles on the PHP Chinese website!

Statement:
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