Maison >développement back-end >tutoriel php >PHP et Vue : Comment convertir et échanger des points d'adhésion

PHP et Vue : Comment convertir et échanger des points d'adhésion

王林
王林original
2023-09-24 14:36:261106parcourir

PHP et Vue : Comment convertir et échanger des points dadhésion

PHP et Vue : Comment mettre en œuvre la conversion et l'échange de points de membre, des exemples de code spécifiques sont requis

Introduction :
Dans de nombreux sites Web et applications de commerce électronique, les points de membre sont une méthode de récompense courante, qui peut encourager les utilisateurs à l'interaction et à la consommation, et peut également être utilisé comme monnaie virtuelle pour échanger des biens physiques ou virtuels. Afin de réaliser la fonction de conversion et d'échange des points membres, nous pouvons combiner PHP et Vue pour implémenter un système simple et puissant. Cet article expliquera comment convertir et échanger des points d'adhésion via PHP et Vue, et fournira des exemples de code spécifiques.

1. Concevoir la structure de la table de base de données
Tout d'abord, nous devons concevoir une table de base de données pour stocker les informations sur les points des membres. Voici un exemple simple de structure de table :
Table des points :
Nom de la table : points
Champs :

  1. id : l'identifiant unique de l'enregistrement de points
  2. user_id : l'identifiant unique du membre
  3. points : le nombre de points
  4. created_at : heure de création
  5. updated_at : heure de mise à jour

2. Obtenez des points de membre

  1. Créez un fichier PHP nommé "get_points.php" pour obtenir les informations sur les points du membre.
<?php
// 导入数据库连接配置文件
require_once('db_config.php');

// 获取会员的唯一标识
$user_id = $_GET['user_id'];

// 查询会员的积分数量
$query = "SELECT points FROM points WHERE user_id = $user_id";
$result = mysqli_query($conn, $query);

// 判断查询结果是否为空
if (mysqli_num_rows($result) > 0) {
    $row = mysqli_fetch_assoc($result);
    $points = $row['points'];

    // 返回积分数量
    echo json_encode(['points' => $points]);
} else {
    // 返回错误信息
    echo json_encode(['error' => '会员不存在']);
}

// 关闭数据库连接
mysqli_close($conn);
?>
  1. Créez un composant Vue pour afficher le numéro de points du membre sur le front-end.
<template>
  <div>
    <h2>会员积分:{{ points }}</h2>
  </div>
</template>

<script>
export default {
  data() {
    return {
      points: 0
    };
  },
  mounted() {
    // 调用接口获取会员积分
    fetch('get_points.php?user_id=123')
      .then(response => response.json())
      .then(data => {
        // 更新积分数量
        this.points = data.points;
      })
      .catch(error => {
        console.error(error);
      });
  }
};
</script>

3. Fonction de conversion de points

  1. Créez un fichier PHP nommé "convert_points.php" pour implémenter la fonction de conversion de points.
<?php
// 导入数据库连接配置文件
require_once('db_config.php');

// 获取表单提交的数据
$user_id = $_POST['user_id'];
$amount = $_POST['amount'];

// 查询会员的积分数量
$query = "SELECT points FROM points WHERE user_id = $user_id";
$result = mysqli_query($conn, $query);

// 判断查询结果是否为空
if (mysqli_num_rows($result) > 0) {
    $row = mysqli_fetch_assoc($result);
    $points = $row['points'];

    // 判断积分是否足够
    if ($points >= $amount) {
        // 更新积分数量
        $new_points = $points - $amount;
        $query = "UPDATE points SET points = $new_points WHERE user_id = $user_id";
        mysqli_query($conn, $query);

        // 返回成功信息
        echo json_encode(['success' => '积分转换成功']);
    } else {
        // 返回错误信息
        echo json_encode(['error' => '积分不足']);
    }
} else {
    // 返回错误信息
    echo json_encode(['error' => '会员不存在']);
}

// 关闭数据库连接
mysqli_close($conn);
?>
  1. Créez un composant Vue pour implémenter l'interface frontale pour la conversion de points.
<template>
  <div>
    <h2>积分转换</h2>
    <form @submit.prevent="convertPoints">
      <label for="amount">转换数量:</label>
      <input type="number" v-model="amount" required>
      <button type="submit">转换</button>
    </form>
    <p v-if="message">{{ message }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      amount: 0,
      message: ''
    };
  },
  methods: {
    convertPoints() {
      // 获取会员的唯一标识
      const user_id = '123';

      // 发送转换请求
      fetch('convert_points.php', {
        method: 'POST',
        body: new URLSearchParams({
          user_id: user_id,
          amount: this.amount
        })
      })
        .then(response => response.json())
        .then(data => {
          // 显示转换结果
          this.message = data.success || data.error;
        })
        .catch(error => {
          console.error(error);
        });
    }
  }
};
</script>

4. Fonction d'échange de points

  1. Créez un fichier PHP nommé "redeem_points.php" pour implémenter la fonction d'échange de points.
<?php
// 导入数据库连接配置文件
require_once('db_config.php');

// 获取表单提交的数据
$user_id = $_POST['user_id'];
$item_id = $_POST['item_id'];

// 查询会员的积分数量
$query = "SELECT points FROM points WHERE user_id = $user_id";
$result = mysqli_query($conn, $query);

// 判断查询结果是否为空
if (mysqli_num_rows($result) > 0) {
    $row = mysqli_fetch_assoc($result);
    $points = $row['points'];

    // 查询商品需要的积分数量
    $query = "SELECT points_required FROM items WHERE id = $item_id";
    $result = mysqli_query($conn, $query);

    // 判断查询结果是否为空
    if (mysqli_num_rows($result) > 0) {
        $row = mysqli_fetch_assoc($result);
        $points_required = $row['points_required'];

        // 判断积分是否足够
        if ($points >= $points_required) {
            // 更新积分数量
            $new_points = $points - $points_required;
            $query = "UPDATE points SET points = $new_points WHERE user_id = $user_id";
            mysqli_query($conn, $query);

            // 返回成功信息
            echo json_encode(['success' => '兑换成功']);
        } else {
            // 返回错误信息
            echo json_encode(['error' => '积分不足']);
        }
    } else {
        // 返回错误信息
        echo json_encode(['error' => '商品不存在']);
    }
} else {
    // 返回错误信息
    echo json_encode(['error' => '会员不存在']);
}

// 关闭数据库连接
mysqli_close($conn);
?>
  1. Créez un composant Vue pour implémenter l'interface frontale pour l'échange de points.
<template>
  <div>
    <h2>积分兑换</h2>
    <form @submit.prevent="redeemPoints">
      <label for="item_id">商品:</label>
      <select v-model="item_id" required>
        <option value="">请选择商品</option>
        <option value="1">商品A</option>
        <option value="2">商品B</option>
      </select>
      <button type="submit">兑换</button>
    </form>
    <p v-if="message">{{ message }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      item_id: '',
      message: ''
    };
  },
  methods: {
    redeemPoints() {
      // 获取会员的唯一标识
      const user_id = '123';

      // 发送兑换请求
      fetch('redeem_points.php', {
        method: 'POST',
        body: new URLSearchParams({
          user_id: user_id,
          item_id: this.item_id
        })
      })
        .then(response => response.json())
        .then(data => {
          // 显示兑换结果
          this.message = data.success || data.error;
        })
        .catch(error => {
          console.error(error);
        });
    }
  }
};
</script>

Résumé :
Grâce aux exemples de code ci-dessus, nous pouvons voir comment implémenter les fonctions de conversion et d'échange de points membres via PHP et Vue. PHP est responsable du traitement des opérations de base de données et de la fourniture d'interfaces que Vue peut appeler ; Vue est responsable de l'affichage et du fonctionnement du front-end, ainsi que de l'interaction des données avec le back-end. Ce système est non seulement facile à utiliser, mais peut également être facilement étendu et personnalisé, ce qui le rend adapté à une variété de sites Web et d'applications de commerce électronique.

Cependant, il ne s'agit que d'un exemple simple, et les projets réels peuvent impliquer plus de fonctions et de complexité. Par conséquent, dans le développement réel, nous devons concevoir et mettre en œuvre en conséquence en fonction de besoins spécifiques. J'espère qu'à travers l'introduction de cet article, les lecteurs pourront comprendre comment utiliser PHP et Vue pour convertir et échanger des points d'adhésion, et fournir de l'inspiration et de l'aide pour le développement de projets réels.

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