PHP dan Vue: Bagaimana untuk mengira penggandaan mata keahlian
Dengan perkembangan perniagaan e-dagang dan perubahan dalam tabiat penggunaan pengguna , mata keahlian telah menjadi cara penting untuk menarik penyertaan pengguna dan menggalakkan penggunaan pengguna. Dalam pengurusan mata ahli, cara menetapkan dan mengira peraturan pendaraban mata secara fleksibel telah menjadi isu utama. Artikel ini akan menggunakan rangka kerja PHP dan Vue sebagai contoh untuk memperkenalkan cara mengira penggandaan mata keahlian dan memberikan contoh kod khusus.
1. Reka bentuk pangkalan data
Pertama, kita perlu mereka bentuk pangkalan data untuk menyimpan maklumat ahli dan peraturan pendaraban mata. Katakan kita mempunyai dua jadual: ahli dan pengganda.
Struktur jadual ahli adalah seperti berikut:
CREATE TABLE `members` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `points` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Struktur jadual pengganda adalah seperti berikut:
CREATE TABLE `multipliers` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `multiplier` decimal(10,2) NOT NULL DEFAULT '1.00', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Dalam jadual pengganda , kita boleh menambah peraturan pendaraban yang berbeza, contohnya, mata digandakan pada hari lahir ahli, mata digandakan pada pembelian pertama pengguna baharu, dsb.
2. Pelaksanaan kod back-end
Dalam kod PHP, kita perlukan untuk menggunakan kelas PDO Sambung ke pangkalan data dan dapatkan maklumat ahli dan peraturan pendaraban. Contoh kod khusus adalah seperti berikut:
$conn = new PDO("mysql:host=localhost;dbname=your_db", "username", "password");
Kami boleh mendapatkan maklumat ahli dan peraturan pendaraban dengan melaksanakan SQL penyataan , contoh kod khusus adalah seperti berikut:
// 获取会员信息 $members = $conn->query("SELECT * FROM members")->fetchAll(PDO::FETCH_ASSOC); // 获取倍增规则 $multipliers = $conn->query("SELECT * FROM multipliers")->fetchAll(PDO::FETCH_ASSOC);
Mengikut peraturan pendaraban, kita boleh mengira mata setiap ahli dan kemas kini mereka ke dalam pangkalan data. Contoh kod khusus adalah seperti berikut:
foreach ($members as $member) { $points = $member['points']; foreach ($multipliers as $multiplier) { $points *= $multiplier['multiplier']; } // 更新会员积分 $conn->query("UPDATE members SET points = $points WHERE id = {$member['id']}"); }
3. Pelaksanaan kod bahagian hadapan
Dalam rangka kerja Vue, kami boleh menggunakan Ajax untuk meminta data bahagian belakang dan memaparkan mata dikira kepada pengguna. Berikut ialah contoh komponen Vue mudah yang melaksanakan pemaparan halaman dan pengiraan mata.
<template> <div> <div v-for="member in members" :key="member.id"> <h4>{{ member.name }}</h4> <p>原始积分:{{ member.points }}</p> <p>最终积分:{{ calculatePoints(member) }}</p> </div> </div> </template> <script> export default { data() { return { members: [] }; }, mounted() { this.getMembers(); }, methods: { getMembers() { // 使用Ajax请求后端数据 axios.get('/api/members') .then(response => { this.members = response.data; }) .catch(error => { console.log(error); }); }, calculatePoints(member) { let points = member.points; // 根据倍增规则计算积分 member.multipliers.forEach(multiplier => { points *= multiplier.multiplier; }); return points; } } } </script>
Di atas adalah contoh mudah menggunakan rangka kerja PHP dan Vue untuk melaksanakan kaedah pengiraan menggandakan mata keahlian. Dengan mereka bentuk struktur pangkalan data secara rasional, menetapkan peraturan pendaraban secara fleksibel, dan menggunakan kerjasama kod belakang dan hadapan, kami boleh merealisasikan pengiraan automatik dan pengurusan mata ahli. Sudah tentu, lebih banyak logik perniagaan dan pengendalian ralat mungkin diperlukan dalam aplikasi sebenar, tetapi contoh kod yang disediakan dalam artikel ini boleh berfungsi sebagai rangka kerja asas untuk dirujuk dan dikembangkan oleh pembaca.
Atas ialah kandungan terperinci PHP dan Vue: Bagaimana untuk melaksanakan kaedah pengiraan menggandakan mata keahlian. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!