微信小程序调用数据库增删改查
生活随笔
收集整理的這篇文章主要介紹了
微信小程序调用数据库增删改查
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
微信小程序調用數據庫增刪改查
- php代碼
- 獲得數據庫全部數據
- js代碼
- 增
- wxml頁面
- js代碼
- 刪
- js代碼
- 改
- js代碼
- 查
- js代碼
- 輸出展示
- 不足&改進想法
php代碼
<?php require_once 'vendor/Db.php';//引用數據庫操作類 $cmd = $_REQUEST['cmd'] ?? 'list';//識別當前操作命令,默認獲取列表 switch ($cmd) {case 'list'://返回列表數據$page = $_REQUEST['page'] ?? 1;$limit = $_REQUEST['limit'] ?? 10;$db = Db::instance();$data = $db->select('student', '*', ['LIMIT' => [($page - 1) * $limit, $limit]]);$count = $db->count('student');$result = ['code' => 0,'count' => $count,'data' => $data];break;case 'get'://根據id獲取當前學生數據$id = $_REQUEST['id'] ?? 0;if ($id) {$db = Db::instance();$data = $db->get('student', '*', ['id' => $id]);$result = ['code' => 0,'data' => $data];} else {$result = ['code' => 1,'msg' => 'param error'];}break;case 'add'://新增學生$db = Db::instance();$data = $db->get('student', '*', ['code' => $_REQUEST['code']]);if (!$data) {$ret = $db->insert('student', ['code' => $_REQUEST['code'],'name' => $_REQUEST['name'],'faculty_name' => $_REQUEST['faculty_name'] ?? '','grade_name' => $_REQUEST['grade_name'] ?? '','instructor_name' => $_REQUEST['instructor_name'] ?? '',]);$result = ['code' => 0,'msg' => '添加成功',];} else {$result = ['code' => 1,'msg' => '添加失敗,學號已存在',];}break;case 'edit'://修改學生信息$ret = Db::instance()->update('student', ['name' => $_REQUEST['name'],'faculty_name' => $_REQUEST['faculty_name'] ?? '','grade_name' => $_REQUEST['grade_name'] ?? '','instructor_name' => $_REQUEST['instructor_name'] ?? '',], ['id' => $_REQUEST['id'], 'code' => $_REQUEST['code']]);if ($ret) {$result = ['code' => 0,'msg' => '修改成功',];} else {$result = ['code' => 1,'msg' => '不存在此記錄',];}break;case 'del'://根據id刪除學生$ret = Db::instance()->delete('student', ['id' => $_REQUEST['id']]);if ($ret) {$result = ['code' => 0,'msg' => '刪除成功',];} else {$result = ['code' => 1,'msg' => '不存在此記錄',];}break; } echo json_encode($result);獲得數據庫全部數據
js代碼
// pages/test/test.js Page({/*** 頁面的初始數據*/data: {students:[1,2],cmd:"add",code:"",name:"",faculty_name:"",grade_name:"",instructor_name:"",},/*** 生命周期函數--監聽頁面加載*/onLoad: function (options) {// console.log(that.data.students)},addSubmit:function(){const that = this;wx.request({url: '域名/backend/student.php',method:'GET',data:JSON.parse(JSON.stringify({cmd:"list"})),success:function(res){console.log(that.data.students)that.setData({students:res.data.data})console.log(that.data.students)},fail:function(){console.log("fail")}})} })輸出展示:
增
wxml頁面
<scroll-view><view><form action="" bindsubmit="addSubmit" data-ondex="{{index}}"><view><label>學號</label><input type="text" name="code" bindinput="getCode"/></view><view><label>姓名</label><input type="text" name="name" bindinput="getName"/></view><view><label>院系</label><input type="text" name="faculty_name" bindinput="getFacultyName"/></view><view><label>年級</label><input type="text" name="grade_name" bindinput="getGradeName"/></view><view><label>輔導員</label><input type="text" name="instructor_name" bindinput="getInstructorName"/></view><button form-type="submit">注冊</button></form></view> </scroll-view>js代碼
Page({/*** 頁面的初始數據*/data: {students:[1,2],cmd:"add",code:"",name:"",faculty_name:"",grade_name:"",instructor_name:"",},/*** 生命周期函數--監聽頁面加載*/onLoad: function (options) {},addSubmit:function(){const that = this;wx.request({url: '域名/backend/student.php',data:JSON.parse(JSON.stringify({cmd:that.data.cmd,code:that.data.code,name:that.data.name,faculty_name:that.data.faculty_name,grade_name:that.data.grade_name,instructor_name:that.data.instructor_name})),method:'GET',success:function(res){//友情提示},fail:function(){console.log("fail")}})},getCode:function(e){this.setData({code:e.detail.value})},getName:function(e){this.setData({name:e.detail.value})},getFacultyName:function(e){this.setData({faculty_name:e.detail.value})},getGradeName:function(e){this.setData({grade_name:e.detail.value})},getInstructorName:function(e){this.setData({instructor_name:e.detail.value})} })1.wx.request中data為傳遞的參數,cmd的值根據想要的功能(此處為增加,add)參考php中case設置值。參數名參考php中設置的值,和wxml里input的name。
2.JSON.parse(JSON.stringify({}))將數據轉換為JSON包。
刪
根據id(也可根據學號,此處為id)刪除對應信息。
js代碼
const that = this;wx.request({url: '域名/backend/student.php',method:'GET',data:JSON.parse(JSON.stringify({cmd:"del",id:10})),success:function(){console.log("success")},fail:function(){console.log("fail")}})改
根據id和學號,對應進行修改,id可以通過wxml傳參,但此處為測試原理,故簡化直接給出。
js代碼
Page({/*** 頁面的初始數據*/data: {students:[1,2],cmd:"add",code:"",name:"",faculty_name:"",grade_name:"",instructor_name:"",},/*** 生命周期函數--監聽頁面加載*/onLoad: function (options) {// console.log(that.data.students)},addSubmit:function(){const that = this;wx.request({url: '域名/backend/student.php',method:'GET',data:JSON.parse(JSON.stringify({cmd:"edit",id:8,code:that.data.code,name:that.data.name,faculty_name:that.data.faculty_name,grade_name:that.data.grade_name,instructor_name:that.data.instructor_name})),success:function(){console.log("success")},fail:function(){console.log("fail")}})},getCode:function(e){this.setData({code:e.detail.value})},getName:function(e){this.setData({name:e.detail.value})},getFacultyName:function(e){this.setData({faculty_name:e.detail.value})},getGradeName:function(e){this.setData({grade_name:e.detail.value})},getInstructorName:function(e){this.setData({instructor_name:e.detail.value})} })查
根據id查詢信息
js代碼
const that = this;wx.request({url: 'https://www.kejishenghuo.cn/backend/student.php',method:'GET',data:JSON.parse(JSON.stringify({cmd:"get",id:1})),success:function(res){console.log(res.data.data)},fail:function(){console.log("fail")}})輸出展示
不足&改進想法
1.應該根據學號查詢、刪除,而非id
總結
以上是生活随笔為你收集整理的微信小程序调用数据库增删改查的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jQuery和JS获取选中复选框的值
- 下一篇: Navicat设定mysql定时任务