PHP and Vue development: member points redemption record query
Introduction:
In e-commerce platforms or membership systems, points are a common reward mechanism , members earn points through consumption, and then can use the points to redeem goods or services. In order to facilitate member management and promote member activity, it is necessary to query members' points redemption records. This article will use PHP and Vue development as an example to introduce in detail how to implement the member points redemption record query function, and provide specific code examples.
1. Project preparation
Before starting development, you need to confirm the following matters:
2. Database design
In this example, we will use MySQL as the database. Create a data table named "exchange_records", containing the following fields:
3. Back-end development
In back-end development, we use PHP to handle the addition, deletion, modification and query of data, and provide API interfaces for front-end calls.
//Import database connection configuration
require_once "config.php";
//Query member points redemption record
function getExchangeRecords ($member_id) {
// 创建数据库连接 $conn = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); // 检查连接是否成功 if ($conn->connect_error) { die("连接数据库失败:" . $conn->connect_error); } // 构建查询语句 $sql = "SELECT * FROM exchange_records WHERE member_id = '$member_id'"; // 执行查询 $result = $conn->query($sql); // 检查查询结果是否为空 if ($result->num_rows > 0) { // 将查询结果转换为数组 $rows = array(); while ($row = $result->fetch_assoc()) { $rows[] = $row; } return $rows; } else { return "没有找到会员积分兑换记录"; } // 关闭数据库连接 $conn->close();
}
// Process the request
if ($_SERVER["REQUEST_METHOD"] == "GET") {
// 获取会员ID $member_id = $_GET["member_id"]; // 调用查询函数,返回结果 $result = getExchangeRecords($member_id); // 返回查询结果 echo json_encode($result);
}
?>
// Database configuration information
define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PASSWORD', 'password');
define('DB_NAME', 'your_database_name');
?>
4. Front-end development
import Vue from 'vue'
import App from './App.vue'
import VueRouter from 'vue-router'
import axios from 'axios'
Vue.use(VueRouter)
const router = new VueRouter({
routes: [
{ path: '/', name: 'Home', component: Home }, // 其他路由配置...
]
})
Vue. prototype.$http = axios
new Vue({
router,
render: h => h(App)
}).$mount('#app')
<input type="text" v-model="memberId" placeholder="请输入会员ID" />
<button @click="getExchangeRecords">查询</button>
<table>
<thead>
<tr>
<th>记录ID</th>
<th>会员ID</th>
<th>兑换日期</th>
<th>兑换积分</th>
<th>兑换商品</th>
</tr>
</thead>
<tbody>
<tr v-for="record in exchangeRecords" :key="record.id">
<td>{{ record.id }}</td>
<td>{{ record.member_id }}</td>
<td>{{ record.exchange_date }}</td>
<td>{{ record.exchange_points }}</td>
<td>{{ record.exchange_goods }}</td>
</tr>
</tbody>
</table>