黯然微信小程序杂记(一):从服务器获取数据 后端语言php

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 黯然微信小程序杂记(一):从服务器获取数据 后端语言ph
CDDN私信我,有关微信小程序的事情可以交流讨论,共同学习!

一、功能描述


  针对微信小程序的A页面,有:
    A.js
    A.json
    A.wxml
    A.wxss
四个文件,此处需要在A.js文件里面获取到服务器的数据库里面的数据并保存在A.js的某一数组变量里,方便
A.wxml调用其值。

二、服务器、数据库与微信小程序逻辑的关系


服务器


简而言之就是你买了一个可以用http://xxx.xxx.xx.xx来访问的存储空间,类似于百度云盘一样,把一些图片、后端的文件存在这个http地址里面,以后你就可以用任何联网的手机、电脑来访问。购买服务器的话,一般推荐阿里云、腾讯云,最低配学生价大约为100¥。

数据库


当你买了服务器之后,可以在服务器里面安装php、mysql等等。服务器会伴生一个数据库给你用。例如,我买的是阿里云服务器,用的是宝塔镜像页面打开,数据库是phpMyAdmin可视化管理工具。

也就是你放在服务器里面的后端文件,可以直接访问你服务器相绑定的数据库。

与微信小程序逻辑关系


微信小程序里点击了一个按钮,触发js事件,js事件(也就是在js页面定义的函数)会调用微信小程序自带的wx.request({})来进行网络请求。然后请求了你服务器上的某个文件,通过这个后端文件,来对你服务器相绑定的数据库进行增删改查操作。

三、请求数据的代码(可当做模板用)


A.js页面的写法


onLoad: function (options) {//onLoad表示在该页面注册的时候就调用该部分的内容
    var that=this;//定义this指针的别名,that和this在下面某处的作用域是不一样的
    wx.request({//网络请求
      url: 'http://47.103.21.63/jnSelfPick/php/req_postList.php',//网络请求的文件地址,
//47.103.21.63是我的服务器ip地址,微信小程序在编程期间是可以用ip访问的,但是上线必须用域名代替ip
//req_postList.php是我的后端文件,用php写的
      data: {
        openid: '1234567890'//表示向req_postList.php文件传递的参数
      },
      method: 'GET',
      header: {
        'content-type': 'application/json'
      },
      success: function (res) {//请求成功的回调函数
      //this.setData是微信小程序绑定数据的函数,由于作用域问题,这里用that.setData
        that.setData({
          //绑定json格式的数据给postList变量,res.data即为req_postList.php文件返回的数据
          postList: res.data
        })
      },
      fail: function (res) {//请求失败的回调函数,报错
        wx.showModal({
          title: '提示',
          content: res.data,
        })
      }
    })
  },

服务器端req_postList.php的写法


<?php
  //链接你的服务器对应端口,填入相应账号、密码
  $con = mysql_connect("47.103.21.63:****","name","password");
    if (!$con)
      {
      die('数据库连接失败: ' . mysql_error());
      }
    $db=mysql_select_db("jnSlefPick");//选择数据库名称
  $openid=$_GET["openid"];
    $rs1 ="CREATE TEMPORARY TABLE tmp (SELECT * FROM toolTap WHERE openid='$openid')";
    $r1=mysql_query($rs1);
  $rs="SELECT PUI.pno,ptimecollectionStatus FROM PUI left join tmp ON PUI.pno=tmp.pno";
    $r=mysql_query($rs);
    while($obj = mysql_fetch_object($r))
    {
        $array[]=$obj;//这里$array已经是获取到的数据了
    }
  $jsoncode=json_encode($array);//把$array转化为json格式的数据,方便小程序调用
  //返回数据,直接用echo 即为想微信小程序端返回数据,等同于微信小程序里面的res.data
  echo $jsoncode;
?>

查看下一篇


黯然学编程 之 微信小程序杂记(二):小程序最新版登录并进行缓存模块的实现 附源码

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
弹性计算 监控 负载均衡
|
20天前
|
运维 监控 负载均衡
slb后端服务器故障
slb后端服务器故障
40 13
|
1月前
|
负载均衡 监控 应用服务中间件
配置Nginx反向代理时如何指定后端服务器的权重?
配置Nginx反向代理时如何指定后端服务器的权重?
63 4
|
1月前
|
JavaScript
使用node.js搭建一个express后端服务器
Express 是 Node.js 的一个库,用于搭建后端服务器。本文将指导你从零开始构建一个简易的 Express 服务器,包括项目初始化、代码编写、服务启动与项目结构优化。通过创建 handler 和 router 文件夹分离路由和处理逻辑,使项目更清晰易维护。最后,通过 Postman 测试确保服务正常运行。
52 1
|
1月前
|
监控 负载均衡 算法
slb管理后端服务器
【10月更文挑战第18天】
38 5
|
1月前
|
小程序 前端开发 算法
|
1月前
|
关系型数据库 API 数据库
后端开发的艺术:从零到一构建高效服务器
在数字化时代,后端开发是支撑现代互联网应用的基石。本文旨在探讨后端开发的核心概念、关键技术以及如何构建一个高效的服务器。我们将从基础的编程语言选择开始,逐步深入到数据库设计、API开发和性能优化等关键领域。通过实际案例分析,我们将揭示后端开发的复杂性和挑战性,同时提供实用的解决方案和最佳实践。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的见解和启发。
|
1月前
|
JavaScript API 开发工具
<大厂实战场景> ~ Flutter&鸿蒙next 解析后端返回的 HTML 数据详解
本文介绍了如何在 Flutter 中解析后端返回的 HTML 数据。首先解释了 HTML 解析的概念,然后详细介绍了使用 `http` 和 `html` 库的步骤,包括添加依赖、获取 HTML 数据、解析 HTML 内容和在 Flutter UI 中显示解析结果。通过具体的代码示例,展示了如何从 URL 获取 HTML 并提取特定信息,如链接列表。希望本文能帮助你在 Flutter 应用中更好地处理 HTML 数据。
122 1
|
2月前
|
Rust JavaScript Java
后端使用的语言是什么?
【10月更文挑战第12天】后端使用的语言是什么?
93 14
|
2月前
|
JavaScript Java Go
后端语言
【10月更文挑战第12天】后端语言
36 5