Home > Backend Development > PHP Tutorial > How to use PHP and Vue to implement data loading function

How to use PHP and Vue to implement data loading function

王林
Release: 2023-09-25 17:04:02
Original
1215 people have browsed it

How to use PHP and Vue to implement data loading function

How to use PHP and Vue to implement data loading function

Introduction:
In modern web development, real-time data loading is a common and important function . This article will introduce how to use PHP and Vue.js framework to implement the data loading function. I will provide specific code examples to help readers better understand the entire process.

1. Preparation
Before we start, we need to make sure that the PHP and Vue.js frameworks have been installed. If it is not installed, you can go to the official website to download and install it. In addition, for the convenience of demonstration, we can create a simple database, which contains a table named "users" to store user information.

2. Back-end part

  1. Create a PHP file and name it "loadData.php". In this file, we will write the backend logic using PHP to query data from the database.

    <?php
    // 连接数据库
    $db = new PDO('mysql:host=localhost;dbname=test', 'root', '');
    
    // 查询数据
    $stmt = $db->query("SELECT * FROM users");
    $users = $stmt->fetchAll(PDO::FETCH_ASSOC);
    
    // 返回JSON格式的数据
    header('Content-Type: application/json');
    echo json_encode($users);
    ?>
    Copy after login

    In the above code, we first connect to the database and query all data in the table named "users". We then convert the query results into JSON format and return them to the front end.

3. Front-end part

  1. Create a Vue instance and use Vue's "mounted" life cycle hook function to call the back-end interface and retrieve data.

    new Vue({
      el: '#app',
      data: {
     users: []  // 用于存储从后端获取的数据
      },
      mounted: function() {
     this.loadData();  // 页面加载时调用数据加载函数
      },
      methods: {
     loadData: function() {
       // 使用Axios库发送HTTP请求
       axios.get('loadData.php')
         .then(response => {
           this.users = response.data;
         })
         .catch(error => {
           console.log(error);
         });
     }
      }
    });
    Copy after login

    In the above code, we created a Vue instance and called the "loadData" function in the "mounted" life cycle hook function. This function uses Axios to send an HTTP request, calls the "loadData.php" interface on the backend, and assigns the returned data to the "users" array in the "data" attribute of the Vue instance.

  2. In HTML, use the "v-for" directive to traverse the "users" array and display the information of each user.

    <div id="app">
      <ul>
     <li v-for="user in users" :key="user.id">
       {{ user.name }} - {{ user.email }}
     </li>
      </ul>
    </div>
    Copy after login

    In the above code, we use the "v-for" instruction to traverse the "users" array and display each user's name and email address on the page.

4. Test and run
After completing the above steps, we can open the HTML file in the browser and observe whether the data is successfully loaded into the page. If everything goes well, the page should display all user information in the "users" table in the database.

Conclusion:
Through the introduction of this article, we have learned how to use PHP and Vue.js framework to implement the data loading function. Through the back-end PHP file, we get the data from the database and convert it into JSON format and return it to the front-end. Through the front-end Vue instance and Axios library, we send HTTP requests and display the returned data on the page. I hope this article can help everyone to better understand and use PHP and Vue to implement the data loading function.

The above is the detailed content of How to use PHP and Vue to implement data loading function. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template