微信小程序——从后台获取数据库数据并在前台显示(前端+后端+数据库)

10 篇文章 2 订阅
6 篇文章 0 订阅

因为人工测试的时候需要统计数据都在纸上,统计起来很麻烦。所以我想做个小程序来辅助我测试,但我之前没学过小程序,所以就一点一点搞吧。今天这篇主要讲从后台获取数据库数据并在前台显示(类似背单词小程序的点击下一个会显示数据库的下一个数据)

1.效果图:

在这里插入图片描述

2.wxml文件:
<view class="container">
   <text>{{id}}</text>
</view>
 <view wx:for="{{list}}" wx:key="list" class="cmd-box" >
 <view class="cmd">{{item.cmd}}</view>
</view>
<view wx:if="{{!(showDaan)}}" class="content">
   <view class="button-1" bindtap="choice" id="{{da1}}">
      <text class="cmd-result" >{{da1}}</text>
    </view>
    <view class="button-2" bindtap="choice" id="{{da2}}" >
      <text class="cmd-result" >{{da2}}</text>
    </view>
        <view class="button-3" bindtap="choice" id="{{da3}}" >
      <text class="cmd-result" >{{da3}}</text>
    </view>
        <view wx:if="{{!(complete)}}" class="button-4" bindtap="next" >
      <text class="cmd-result" >下一个</text>
    </view>
</view>
3.js文件:
//获取应用实例
const app = getApp()
Page({
  data: {
     id:'1',
     da1:"正确识别",
     da2: "错误识别",
     da3: "未识别",
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    var th = this;
    var formData = this.data.id; //获取name=id的值 
    wx.request({
      url: 'http://localhost/test/index.php?id='+formData,
      data:formData,
      method:'GET',
      header: { 'Content-Type': 'application/json' },
      success: function (res) {
        console.log(res)
        th.setData({
          list: res.data, 
        });
      },
      fail:function(res){
        console.log("-------fail------")
      }
    })
  },
  next(){
    var formData = this.data.id; //获取name=id的值 
    formData++;
    this.setData({ id:formData})
      var th = this;
      var formData = this.data.id; //获取name=id的值 
      wx.request({
        url: 'http://localhost/test/index.php?id='+formData,
        data:formData,
        method:'GET',
        header: { 'Content-Type': 'application/json' },
        success: function (res) {
          console.log(res)
          th.setData({
            list: res.data, 
          });
        },
        fail:function(res){
          console.log("-------fail------")
        }
      })
    }
})
4.php文件
<?php
header("Content-type:text/json;charset=utf8");
//定义参数
$id = $_GET["id"];
//表单验证
if(empty($id)){
    echo "[{\"result\":\"表单为空...\"}]";
    
}else{
    
    //连接数据库
    $con = mysql_connect("localhost","root","root");
    //设置数据库字符集  
    mysql_query("SET NAMES UTF8");
    //查询数据库
    mysql_select_db("mysql", $con);
    $result = mysql_query("SELECT * FROM lyj WHERE id = $id");
    $results = array();
    while($row = mysql_fetch_assoc($result))
    {
        $results[] = $row;
        // 将数组转成json格式
        echo json_encode($results, JSON_UNESCAPED_UNICODE);
    }
    //关闭数据库连接
    mysql_close($con);
}
?>
5.为请求的url配置服务器域名:点击开发者工具右上角的详情——本地设置——勾选不校验合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书,如图:

在这里插入图片描述

6.多说些:由于我是从小白过来的,刚开始看了几篇关于前端+后端+数据库的博客,但他们的博客都是默认我会php搭建后端环境,但我没接触过后端。所以不知道php文件该放哪,怎么用。所以说下如何搭建并部署后端php+mysql后端环境

1.下载并安装phpstudy2018:https://www.xp.cn/download.html
2.下载并安装mysql5.7.22:https://downloads.mysql.com/archives/community/(不建议下载8.0版本,因为8.0版本的字符集是utf8mb4,5.7版本的字符集是utf8.我之前安装的就是8.0,出了一堆问题,所以卸载了8.0,改装5.7了)
3.安装好phpstudy,检测环境搭建是否成功:浏览器访问 http://localhost/,得到“hello world”则证明搭建的php环境已经成功了。
4.在phpstudy2018的安装目录的PHPTutorial下的WWW文件夹下新建一个test文件夹,test文件夹内新建一个index.php文件,然后在该文件写入上面贴出的php代码。如下图:
在这里插入图片描述
5.数据库里的lyj表设计,一共有两个字段,一个是id(类型:int),一个是cmd(类型varchar),所以test.wxml里面也有两个值,你想显示,你就把id或cmd改成你数据库的对应的字段。

<view class="container">
   <text>{{id}}</text>
</view>
 <view wx:for="{{list}}" wx:key="list" class="cmd-box" >
 <view class="cmd">{{item.cmd}}</view>
</view>

6.对下一个做了两个操作,点击下一个按钮,字段id实现+1,当id+1变2,使用wx.request({})的方法与后台数据库交互,找到id=2的字段并显示

next(){
    var formData = this.data.id; //获取name=id的值 
    formData++;//实现字段id+1
    this.setData({ id:formData})
      var th = this;
      var formData = this.data.id;
      wx.request({
        url: 'http://localhost/test/index.php?id='+formData,
        data:formData,
        method:'GET',
        header: { 'Content-Type': 'application/json' },
        success: function (res) {
          console.log(res)
          th.setData({
            list: res.data, 
          });
        },
        fail:function(res){
          console.log("-------fail------")
        }
      })
    }
  • 42
    点赞
  • 370
    收藏
    觉得还不错? 一键收藏
  • 19
    评论
### 回答1: 微信小程序开发是一种基于微信平台的应用程序开发方式,可以在微信内直接运行的应用程序。它可以实现类似于APP的功能,但相比APP更加轻量、快速、易于开发和使用。 微信小程序的开发主要分为前端后端两部分。 前端开发是指通过使用小程序开发框架(如原生开发、wepy等)进行界面和交互的开发。开发者可以使用HTML、CSS和Javascript等技术进行整体的页面布局设计和交互逻辑的编写。通过小程序开发框架提供的API和组件,可以实现丰富的界面效果和功能。在前端开发中,可以通过调用后端接口获取数据或进行页面跳转等操作。 后端开发是指通过使用Java等编程语言进行服务器端的开发。在微信小程序中,后端开发主要用于数据的处理和管理。开发者可以通过后端开发来搭建服务器、编写API接口,实现数据存储和处理、权限控制、业务逻辑等功能。后端开发需要结合小程序前端的需求,定义数据的格式和访问方式,并与前端进行交互。 微信小程序开发前端后端的配合是整个开发过程中的重要环节。开发者需要根据产品需求和设计稿进行界面和交互的开发,并将数据以适当的格式传输给后端进行处理和管理。前后端的协作可以通过API接口进行,前端调用后端提供的接口,传递参数并获取数据。开发者可以根据具体需求和开发框架的限制进行功能开发和调试,最终实现微信小程序的各项功能需求。 总之,微信小程序开发需要前端后端的配合,前端负责界面和交互的开发,后端负责数据的处理和管理,两者相互合作,共同实现微信小程序的功能和效果。 ### 回答2: 微信小程序开发包括前端后端两个主要部分。 1. 前端开发:微信小程序前端开发主要使用HTML、CSS和JavaScript等技术,通过编写小程序页面的HTML结构、样式和交互逻辑来实现小程序的界面和功能。开发者可以使用微信提供的开发者工具进行开发和调试,还可以利用第三方框架如Vue.js、React等来简化开发流程。 在前端开发中,开发者需要了解微信小程序的基本组件和API,以及小程序的生命周期、页面间的跳转和传递数据等。同时,还需要掌握微信小程序的开发规范和设计原则,以保证用户体验和小程序的可靠性。 2. 后端开发:微信小程序后端开发主要使用Java等编程语言进行实现。后端开发者需要负责处理小程序前端发送来的请求,验证用户身份,获取和处理数据,并将结果返回给前端。 在后端开发中,开发者需要使用Java开发框架如Spring Boot、Spring Cloud等,搭建服务器环境并实现业务逻辑。此外,还需要与数据库进行交互,操作和管理数据。同时,为了提高小程序的性能和可靠性,开发者还需要进行性能优化、错误处理和安全防护等工作。 综上所述,微信小程序开发需要前端后端的配合合作。前端负责实现小程序的界面和用户交互,后端负责处理数据和业务逻辑。通过整合两者的能力,可以开发出功能完善、用户体验较好的微信小程序。 ### 回答3: 微信小程序是一种基于微信平台的应用程序开发模式,它具有轻量级、快速加载和便捷的特点。微信小程序开发涉及到前端后端两方面的技术。 在前端开发中,我们需要掌握HTML、CSS和JavaScript等基础技术,同时需要熟悉微信小程序提供的开发框架和API。前端开发主要包括页面布局、样式设计、交互逻辑实现等工作。通过使用微信小程序的框架和API,我们可以快速地开发小程序,并且能够提供良好的用户体验。 在后端开发中,我们通常选择使用Java语言进行开发。Java是一种常用的编程语言,具有广泛的应用领域和稳定的性能。后端开发主要涉及到数据处理、业务逻辑编写、接口开发等方面的工作。我们可以使用Java的一些开发框架和工具,如Spring、SpringBoot等,来进行后端开发。这些框架和工具提供了丰富的功能模块,可以帮助我们快速地构建小程序所需的后端服务。 总而言之,微信小程序的开发涉及到前端后端两方面的技术。前端开发主要负责小程序的页面设计和交互逻辑实现,后端开发则负责提供数据处理和业务逻辑支持。通过前端后端的协同工作,我们能够开发出功能完善、用户友好的微信小程序

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值