微信小程序学习第七课:写入数据进数据库

本文介绍了一种基于PHP的数据提交方法,用于添加年级信息到数据库,并通过前端JS实现了用户输入验证与数据提交流程,包括排序编号、年级名称、状态和图标地址的处理。

 

1、数据提交入口php代码

    public function dopageAddnianfen() {
        global $_W, $_GPC;
        $uniacid = $_W['uniacid'];
        $openid = $_W['openid'];
        $uid = $_GPC['uid'];
        $displayorder = $_GPC['displayorder'];
        $name = $_GPC['name'];
        $icon = $_GPC['icon'];
        $status = $_GPC['status'];
        if(empty($uid)) {
            return $this->result(1,'传递的参数不存在或失效', '1001');
        }
        $user_info = pdo_fetch("SELECT `status` FROM ".tablename('vdd_pjxxm_user')." WHERE weid=:weid AND id=:uid ", [':weid'=>$_W['uniacid'],':uid'=>$uid]);
        if(empty($user_info)) {
            return $this->result(1, '用户不存在', '1002');
        }
        if($user_info['status'] != 1) {
            return $this->result(1, '用户被禁用', '1003');
        }
        $insert = array();
        $insert['uidht'] = $uid;
        $insert['uniacid'] = $_W['uniacid'];
        //$insert['openid'] = $_W['openid'];
        $insert['displayorder'] = $displayorder;
        $insert['name'] = $name;
        $insert['status'] = $status;
        $insert['icon'] = $icon;
        //$insert['createtime'] = time();
        $res = pdo_insert('vdd_pjxxm_nianfen',$insert);
        if($res) {
            return $this->result(0, '添加成功');
        } else {
            return $this->result(0, '添加年级失败','1005');
        }
    }
 

2、前端JS控制

var app = getApp() 
var dataApi = require('../../provider/dataApi.js');
var pipe = require('../../provider/pipe.js');
Page({

    /**
     * 页面的初始数据
     */
    data: {
        statusBarHeight: app.globalData.statusBarHeight,
        titleBarHeight: app.globalData.titleBarHeight,
        canIUse: wx.canIUse('button.open-type.getUserInfo'),
        displayorder:'',
        name:'',
        status:'',
        icon:''
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function(options) {
        let id = app.globalData.id;
        this.setData({
            id:id
        })
    },
    goBack(){
        wx.navigateBack({
            delta:1
        })
    },
    getDisplayorder(e){        
        this.setData({
            displayorder:e.detail.value
        })
    },
    getName(e){        
        this.setData({
            name:e.detail.value
        })
    },
    getStatus(e){        
        this.setData({
            status:e.detail.value
        })
    },
    getIcon(e){        
        this.setData({
            icon:e.detail.value
        })
    },
    goSubmit(){
        let name = this.data.name;
        if(!name){
            wx.showToast({
                icon:'none',
                title:'请输入入学年份'
            })
            return;
        }
        dataApi.addnianfen({
            uid:wx.getStorageSync('uid'),
            displayorder:this.data.displayorder,
            name:this.data.name,
            status:this.data.status,
            icon:this.data.icon
        }).then((res)=>{
            wx.showModal({
              title: '提示',
              content: '年份已提交~',
              showCancel:false,
              success (res) {
                if (res.confirm) {
                  // console.log('用户点击确定')
                } else if (res.cancel) {
                  // console.log('用户点击取消')
                }
              }
            })
            wx.navigateBack({
                delta:1
            })
        }).catch((err)=>{
            console.log(err);
        })
    },
})
 

3、前端wxml

<view class="headerdiy flex_center" style="padding-top:{{statusBarHeight}}px;background: #4e9bf5;">
  <view style="margin-top:{{statusBarHeight}}rpx;" class="headtitle1">添加年级</view>
</view>
<view class="headerdiy_custom" style="padding-top:{{statusBarHeight}}px"></view>


<view class="contact" style="padding-top:{{statusBarHeight}}px;margin-top:{{statusBarHeight*2}}px;">
<input type="number" placeholder="请输入排序编号"  bindinput="getDisplayorder"/>
</view>
<view class="contact">
<input type="text" placeholder="请输入入学年份"  bindinput="getName"/>
</view>
<view class="contact">
<input type="number" placeholder="请输入状态"  bindinput="getStatus"/>
</view>
<view class="contact">
<input type="text" placeholder="请输入图表地址"  bindinput="icon"/>
</view>
<view class="submit">
    <button class="btn" bindtap="goSubmit">提交</button>
</view>


 

4、备注:某些字段为空时候提醒

        let name = this.data.name;
        if(!name){
            wx.showToast({
                icon:'none',
                title:'请输入入学年份'
            })
            return;
        }

        let reg = /^[1][3,4,5,7,8][0-9]{9}$/;
        let contentVal = this.data.contentVal.trim();
        if(!reg.test(this.data.phone)){
            wx.showToast({
                icon:'none',
                title:'请输入正确的手机号~'
            })
            return;
        }
        if(!contentVal){
            wx.showToast({
                icon:'none',
                title:'请输入内容~'
            })
            return;
        }

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值