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

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

时间:2023-01-16 20:37:23浏览次数:46  
标签:微信 数据库 js 获取数据 服务器 php postList


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

  • ​​一、功能描述​​
  • ​​二、服务器、数据库与微信小程序逻辑的关系​​
  • ​​服务器​​
  • ​​数据库​​
  • ​​与微信小程序逻辑关系​​
  • ​​三、请求数据的代码(可当做模板用)​​
  • ​​A.js页面的写法​​
  • ​​服务器端req_postList.php的写法​​
  • ​​查看下一篇​​

一、功能描述

针对微信小程序的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;

?>

查看下一篇

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


标签:微信,数据库,js,获取数据,服务器,php,postList
From: https://blog.51cto.com/u_15942590/6010765

相关文章

  • PHP简单的字符串加密与加密代码
    PHP简单的字符串加密与加密代码代码//加密算法functionencode($string='',$skey='cxphp'){$strArr=str_split(base64_encode($string));$strCount=cou......
  • 【微信小程序】点击事件bindtap如何传参
    错误写法//wxml页面<viewclass="card_box"bindtap="toPage('12')"></view>//js文件toPage(name){console.log(name)}  报错:正确写法  bindtap在传参时需要用到......
  • 【微信小程序】页面返回且带回数据
    一、回退上一级页面beforePage  返回页面同时需要刷新数据varpages=getCurrentPages();//当前页面varbeforePage=pages[pages.length-2];//前一页beforePage.o......
  • 【微信小程序】缓存过期时间的相关设置
    微信小程序缓存机制介绍  每个微信小程序都可以有自己的本地缓存,可以通过​​wx.setStorage(wx.setStorageSync)​​​、​​wx.getStorage(wx.getStorageSync)​​​、​​w......
  • 【微信小程序】tabbar报错Component is not found in path “custom-tab-bar/index“
    问题描述  在​​app.json​​​配置好​​tabBar​​​,发现页面毫无变化,甚至还报错了​​Componentisnotfoundinpath"custom-tab-bar/index"​​。配置是从微信小......
  • 微信公众号开发之模板消息
     欢迎留言、转发微信极速开发系列文章:​​点击这里​​最近有点小感冒,文章的更新进度延误了一些,希望此系列文章对你​​研究微信公众开发​​​有帮助。前几篇文章介绍了微......
  • 掌握下面常用函数,学php不再难!
    一、写入文件1.打开资源(文件)fopen($filename,$mode)2.写文件fwrite($handle,$str)3.关闭文件fclose($handle)4.一步写入file_put_contents($filename,$str,$mode)FILE_APPE......
  • Linux系统下 Apache+PHP 环境安装搭建
    1、到官网下载 http://httpd.apache.org/download.cgi,选择相应的版本https://archive.apache.org/dist/httpd/可以先下载到windows系统中,上传到linux, 也可以直接下......
  • zabbix3.0 php56 PHP databases support fail
    在搭建zabbix3.0时,登陆界面进行setup时,发现一个检查项没有过去。显示PHPdatabasessupportfail,用的是MySQL5.6PHP版本是5.6运行php-versionPHPWarning: PHPStartup:......
  • php7.1 配置,CentOS7.5安装PHP7.1
    #添加rpm-Uvhhttps://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpmrpm-Uvhhttps://mirror.webtatic.com/yum/el7/webtatic-release.rpm#查看......