Menggunakan PHP dan Vue untuk membangunkan sistem mata keahlian berperingkat selepas pembayaran
Dengan perkembangan e-dagang, sistem keahlian telah menjadi salah satu cara penting bagi banyak syarikat untuk menarik dan mengekalkan pelanggan. Antaranya, sistem mata memainkan peranan penting dalam meningkatkan kesetiaan pelanggan dan menggalakkan penggunaan. Artikel ini akan memperkenalkan cara menggunakan PHP dan Vue untuk membangunkan sistem tahap mata keahlian selepas pembayaran, dan memberikan contoh kod khusus.
1. Analisis permintaan
Sebelum membangunkan sistem tahap mata keahlian selepas pembayaran, kami perlu menjelaskan keperluan khusus. Andaikan bahawa sistem kami mempunyai keperluan berikut:
2. Reka bentuk pangkalan data
Dalam sistem ini, kita memerlukan dua jadual: jadual keahlian dan jadual rekod mata. . ID , kunci utama
mata: bilangan mata
CREATE TABLE `Level` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL, `points` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `Points` ( `id` int(11) NOT NULL AUTO_INCREMENT, `member_id` int(11) NOT NULL, `points` int(11) NOT NULL, `create_time` datetime DEFAULT NULL, PRIMARY KEY (`id`), KEY `member_id` (`member_id`), CONSTRAINT `Points_ibfk_1` FOREIGN KEY (`member_id`) REFERENCES `Member` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Buat komponen paparan mata ahli (MemberPoints.vue)
<?php // 连接数据库 $pdo = new PDO("mysql:host=localhost;dbname=your_database;charset=utf8", 'username', 'password'); // 获取用户的当前积分和等级 function getMemberInfo($member_id) { global $pdo; $sql = "SELECT m.id, m.name, l.name as level_name, l.points as level_points, (SELECT SUM(points) FROM Points WHERE member_id = m.id) as total_points FROM Member m LEFT JOIN Level l ON m.level_id = l.id WHERE m.id = :member_id"; $stmt = $pdo->prepare($sql); $stmt->bindValue(':member_id', $member_id); $stmt->execute(); return $stmt->fetch(PDO::FETCH_ASSOC); } // 处理支付成功后的积分增加 function addPoints($member_id, $points) { global $pdo; $sql = "INSERT INTO Points (member_id, points, create_time) VALUES (:member_id, :points, NOW())"; $stmt = $pdo->prepare($sql); $stmt->bindValue(':member_id', $member_id); $stmt->bindValue(':points', $points); $stmt->execute(); return $pdo->lastInsertId(); }
Buat komponen peningkatan mata selepas pembayaran berjaya (AddPoints.vue)
<template> <div> <h2>会员信息</h2> <p>姓名:{{ member.name }}</p> <p>当前等级:{{ member.level_name }}</p> <p>当前积分:{{ member.total_points }}</p> </div> </template> <script> import axios from 'axios'; export default { data() { return { member: {}, }; }, created() { this.getMemberInfo(); }, methods: { getMemberInfo() { axios.get('/api/member-info') .then(response => { this.member = response.data; }) .catch(error => { console.error(error); }); }, }, }; </script>
Atas ialah kandungan terperinci Menggunakan PHP dan Vue untuk membangunkan sistem peringkat untuk mata keahlian selepas pembayaran. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!