Utilisez PHP et Vue pour implémenter la fonction de remise des points membres après paiement

PHPz
Libérer: 2023-09-25 17:46:01
original
1538 Les gens l'ont consulté

Utilisez PHP et Vue pour implémenter la fonction de remise des points membres après paiement

Utilisez PHP et Vue pour réaliser la fonction de remise des points membres après paiement

Avec le développement rapide du commerce électronique, les systèmes d'adhésion deviennent de plus en plus courants. Afin d'inciter davantage d'utilisateurs à participer, de nombreux commerçants récompenseront leurs membres par des remises. Cet article expliquera comment utiliser PHP et Vue pour implémenter la fonction de remise des points membres après paiement et fournira des exemples de code spécifiques.

1. Le principe de la remise en points

La mise en œuvre de la fonction de remise en points est principalement divisée en les étapes suivantes :

  1. Les utilisateurs achètent des biens et effectuent le paiement
  2. Le système backend calcule les points de remise en fonction de la quantité de marchandises ; achetés par les utilisateurs ;
  3. Ajoutez des points de remise au compte de points de l'utilisateur ;
  4. La page frontale affiche le solde des points de l'utilisateur.

2. Implémentation du code back-end

  1. Créer une base de données

Tout d'abord, nous devons créer une base de données pour stocker les informations sur les points de l'utilisateur. Vous pouvez créer une table nommée user_points en utilisant l'instruction SQL suivante : user_points的表:

CREATE TABLE `user_points` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL,
  `points` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Copier après la connexion
  1. 编写PHP代码

在后端使用PHP来处理业务逻辑。首先,我们需要编写一个名为updatePoints.php的文件,用于更新用户的积分信息。示例代码如下:

<?php

// 连接数据库
$servername = "localhost";
$username = "root";
$password = "password";
$dbname = "test";
$conn = new mysqli($servername, $username, $password, $dbname);

// 获取用户ID和返利积分
$user_id = $_POST['user_id'];
$points = $_POST['points'];

// 查询用户当前的积分余额
$sql = "SELECT * FROM user_points WHERE user_id = $user_id";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
  // 更新用户的积分信息
  $row = $result->fetch_assoc();
  $current_points = $row['points'];
  $new_points = $current_points + $points;
  $sql = "UPDATE user_points SET points = $new_points WHERE user_id = $user_id";
  if ($conn->query($sql) === TRUE) {
    echo "积分更新成功";
  } else {
    echo "Error: " . $sql . "<br>" . $conn->error;
  }
} else {
  // 添加新的积分信息
  $sql = "INSERT INTO user_points (user_id, points) VALUES ($user_id, $points)";
  if ($conn->query($sql) === TRUE) {
    echo "积分添加成功";
  } else {
    echo "Error: " . $sql . "<br>" . $conn->error;
  }
}

$conn->close();

?>
Copier après la connexion
  1. 设置路由

使用PHP框架(如Laravel)可以方便地设置路由,调用updatePoints.php

use IlluminateSupportFacadesRoute;

Route::post('/updatePoints', function () {
    return view('updatePoints');
});
Copier après la connexion

    Écrivez du code PHP
    1. Utilisez PHP sur le backend pour gérer la logique métier. Tout d'abord, nous devons écrire un fichier nommé updatePoints.php pour mettre à jour les informations sur les points de l'utilisateur. L'exemple de code est le suivant :
    <template>
      <div>
        <button @click="updatePoints">购买商品并支付</button>
        <p>我的积分余额:{{ points }}</p>
      </div>
    </template>
    
    <script>
      export default {
        data() {
          return {
            user_id: 123, // 用户ID
            points: 0 // 积分余额
          }
        },
        methods: {
          updatePoints() {
            // 计算返利积分
            const orderAmount = 100; // 购买商品的金额
            const rebateRate = 0.1; // 返利比例
            const points = orderAmount * rebateRate;
    
            // 调用后端API更新积分
            axios.post('/updatePoints', {
              user_id: this.user_id,
              points: points
            })
            .then(response => {
              // 更新成功,刷新积分余额
              this.getPoints();
            })
            .catch(error => {
              console.log(error);
            });
          },
          getPoints() {
            // 调用后端API获取积分余额
            axios.get(`/getPoints?user_id=${this.user_id}`)
            .then(response => {
              this.points = response.data;
            })
            .catch(error => {
              console.log(error);
            });
          }
        },
        mounted() {
          // 页面加载时获取积分余额
          this.getPoints();
        }
      }
    </script>
    Copier après la connexion

      Définir le routage

      Utilisez un framework PHP (tel que Laravel) pour définir facilement le routage et appeler le fichier updatePoints.php . L'exemple de code est le suivant :

      rrreee

      API d'appel front-end

      🎜🎜Utilisez Vue pour implémenter la page front-end et mettez à jour les informations sur les points de l'utilisateur en appelant l'API fournie par le back-end. L'exemple de code est le suivant : 🎜rrreee🎜 3. Résumé🎜🎜Grâce aux étapes ci-dessus, nous avons mis en œuvre avec succès la fonction de remise des points membres après paiement. Une fois que l'utilisateur a acheté le produit et effectué le paiement, le backend calculera les points de remise en fonction du montant du produit et les ajoutera au compte de points de l'utilisateur. La page frontale affichera le solde des points de l'utilisateur en temps opportun. 🎜🎜Cet exemple de code peut être utilisé comme base pour être modifié et étendu en fonction des besoins réels. J'espère que cela aide! 🎜

    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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal