PHP+VUE實現前端和后端數據互通(寶塔面板)


基於element和vue的一個簡單的后台管理頁面基礎模型(這里我用了php從數據庫獲取數據然后在JS區域接收了獲取的數據。PS:不會用axios)

直接附上所有代碼:數據庫:mywu 用戶名:root 密碼:root 數據表:test

<?php
header("Content-type:text/html;charset=utf-8");
$host = "localhost";
$username = 'root';
$password = 'root';
$db = 'mywu';
//1.連接數據庫
$conn = mysqli_connect($host,$username,$password,$db);
if (!$conn) {
    die('Could not connect: ' . mysqli_error($con));
}
//2.定義一個空數組用來接收數據 $usersArr = []; mysqli_set_charset($conn,'utf8');
//3.獲得數據表test的數據 $user_menu = "select * from test"; //4.發送sql語句 $res = mysqli_query($conn,$user_menu); //結果集的資源 //5.將結果集資源轉換成數據 // $row = $res->fetch_assoc();
//while判定條件是否為true是則循環 while($row = $res->fetch_assoc()) { $userArr[] = $row; } ?> <!DOCTYPE html> <html> <!-- head區域引入了element-ui.css,vue.js,vue-router.js,element-ui.js的CDN 注意先后順序 --> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>VUE項目</title> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/element-ui/lib/theme-chalk/index.css"> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <script src="https://cdn.jsdelivr.net/npm/vue-router/dist/vue-router.js"></script> <script src="https://cdn.jsdelivr.net/npm/element-ui@2.13.0/lib/index.js"></script> </head> <body> <div id="app">
  <!-- 路由填充位 --> <router-view></router-view> </div> <script>
  //將從數據庫獲取的數據JSON解析並賦值給usermenu var usermenu = <?php echo json_encode($userArr);?> // 主頁 const Home = { data() { return {
      //用來接收JSON數據的空數組   menulist: [] } }, template: `<div style="height:100%;"> <el-container class="home-con" style="height:100%"> <el-header> <img src="http://style.wuliwu.top/LOGO" /> <span>后台管理系統 單頁版</span> </el-header> <el-container> <el-aside width="200px"> <el-menu default-active="1" background-color="#545c64" text-color="#fff" active-text-color="#ffd04b" >
        //遍歷接受的數據 <el-submenu :index="item.id + ''" v-for="item in menulist" :key="item.id"> <template slot="title"> <i class="el-icon-location"></i> <span>{{item.username}}</span> </template> <el-menu-item index="1-1" @click="cliuser">用戶列表</el-menu-item> <el-menu-item index="1-2" @click="clipic">上傳圖片</el-menu-item> </el-submenu> </el-menu> </el-aside> <el-main>
      <!-- 路由占位符 --> <router-view></router-view> </el-main> </el-container> </el-container> </div>`, created() { this.getMenuList() }, methods: { cliuser() { this.$router.push('/user') }, clipic() { this.$router.push('/uppicture') }, getMenuList() {
    //將解析后的JSON賦值給menulist this.menulist = usermenu console.log(usermenu) }, } } // 用戶 // 上傳圖片按鈕 const router = new VueRouter({ routes: [ { path: '/', component: Home } ] }) new Vue({ el: '#app', data: {}, methods: {}, router }) </script> <style> html, body, #app { height: 100%; margin: 0; padding: 0; } .el-header { background-color: #373d41; padding-left: 0; color: #fff; display: flex; font-size: 20px; align-items: center; } .el-header img { margin-right: 10px; } .el-aside { background-color: #545c64; } .el-card { margin-top: 10px; } .el-breadcrumb { margin-bottom: 15px; } </style> </body> </html>

  

僅供參考,如有不解之處請在下方評論區留言,謝謝!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM