Rumah > Artikel > pembangunan bahagian belakang > Gunakan PHP dan Vue untuk melaksanakan fungsi menggandakan mata keahlian selepas pembayaran
Gunakan PHP dan Vue untuk merealisasikan fungsi penggandaan mata ahli selepas pembayaran
Dalam platform e-dagang, mata adalah faedah ahli biasa dan boleh digunakan sebagai cara untuk pengguna membuat rebat selepas membeli-belah. Untuk merangsang keghairahan pengguna untuk membeli-belah, kami boleh menambah aktiviti penggandaan mata dalam tempoh tertentu atau produk tertentu, iaitu mata yang diperoleh pengguna selepas pembelian akan digandakan dengan sewajarnya. Artikel ini akan menggunakan PHP dan Vue untuk melaksanakan fungsi ini.
PHP ialah bahasa skrip sebelah pelayan yang biasa digunakan yang boleh digunakan untuk mengendalikan logik latar belakang dan berinteraksi dengan pangkalan data. Vue ialah rangka kerja bahagian hadapan yang popular yang boleh digunakan untuk membina antara muka pengguna.
Pertama, kita perlu mencipta jadual pangkalan data untuk menyimpan maklumat mata pengguna. Buat jadual bernama "pengguna" dalam pangkalan data, yang mengandungi medan berikut:
Kemudian, kita perlu buat Fail PHP yang digunakan untuk mengendalikan logik mata penggandaan selepas pengguna membayar. Kita boleh menamakan fail ini double_points.php. Berikut ialah kod sampel yang dipermudahkan:
<?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); ?>
Seterusnya, kita perlu memanggil fail PHP ini di halaman hadapan dan mengendalikan pembayaran dan logik penggandaan mata melalui Vue. Berikut ialah contoh kod yang dipermudahkan:
<!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>
Di atas adalah contoh kod yang menggunakan PHP dan Vue untuk melaksanakan fungsi menggandakan mata keahlian selepas pembayaran. Dalam aplikasi sebenar, anda mungkin perlu melaraskan dan mengoptimumkan berdasarkan keperluan khusus dan logik perniagaan.
Atas ialah kandungan terperinci Gunakan PHP dan Vue untuk melaksanakan fungsi menggandakan mata keahlian selepas pembayaran. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!