Home >Backend Development >PHP Tutorial >PHP and Vue development: How to implement record query of member points redemption

PHP and Vue development: How to implement record query of member points redemption

王林
王林Original
2023-09-25 10:53:02591browse

PHP and Vue development: How to implement record query of member points redemption

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:

  1. Ensure that the PHP environment has been installed and configured;
  2. Ensure that the Vue environment Installed and fully configured;
  3. Ensure that the database has been created and contains the data table used to store member points redemption records.

2. Database design
In this example, we will use MySQL as the database. Create a data table named "exchange_records", containing the following fields:

  1. id: record ID, primary key, auto-increment;
  2. member_id: member ID;
  3. exchange_date: exchange date;
  4. exchange_points: exchange points;
  5. exchange_goods: exchange goods.

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.

  1. Create a file called "exchangeRecords.php" and make sure to import the database connection configuration.

//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);

}
?>

  1. Create a file named "config.php", containing database configuration information.

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

  1. Use Vue to build the front-end page. In this example, we will use Vue-cli to create a basic project.
  2. Modify the src/main.js file and add routing configuration and API request functions.

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')

  1. Create a page component named "ExchangeRecords.vue". The page contains an input box and a button to enter the member ID and trigger the query.

<script> <br>export default {<br> data() {</script>

return {
  memberId: '',
  exchangeRecords: []
}

},
methods: {

getExchangeRecords() {
  this.$http.get('/api/exchangeRecords.php', { params: { member_id: this.memberId } })
    .then(response => {
      this.exchangeRecords = response.data;
    })
    .catch(error => {
      console.log(error);
    });
}

}
}

In the above code example, we use Vue's v-model instruction to implement two-way binding of member IDs, and initiate a GET request through the axios library to obtain member points redemption records, and render the results to the page.

5. Project operation

  1. Backend: Place the above PHP file on the server (for example, localhost/api/exchangeRecords.php).
  2. Front end: Run npm run serve in the Vue project to start the development server.
  3. Visit http://localhost:8080/#/exchange-records in your browser to enter the member points redemption record query page.

Summary:
This article introduces how to use PHP and Vue to develop a project with member points redemption record query function. The database query is implemented through the back-end PHP code, and the API interface is provided for the front-end call, and then the request is initiated through the Vue front-end page and the query results are rendered. I hope this article will be helpful to everyone in implementing the query function of member points redemption records.

The above is the detailed content of PHP and Vue development: How to implement record query of member points redemption. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn