文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

基于EMQX云服务器的环境调节系统(微信小程序连接MySQL篇)

2023-09-27 09:51

关注

文章目录

1、宝塔上创建mysql数据库

选择创建网站,记住刚刚的根目录,后续我们会创建接口文件放置在那里

在这里插入图片描述

然后点击数据库

在这里插入图片描述

这里我用的是这个good数据库,点击管理即可使用phpmyadmin,我在一开始搭建服务器的时候就安装好phpmyadmin插件了。然后创建数据表格
在这里插入图片描述

选择结构,创建对应的数据名,id选择自增,这样方便我们查看表格

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2、连接mysql数据库

mysql我也是个半吊子,我也是查看菜鸟教程然后一步一步调试才成功的,不单单有说有用指令连接数据,也有用php连接数据库

在这里插入图片描述

在这里插入图片描述

$servername = "localhost:3306"; //数据库地址$username=$_GET['name'];     //获取外来数据库名   name要与微信小程序那个相对应$password=$_GET['password'];  //数据库密码$database=$_GET['database'];   //数据库名$temp=$_GET['temp'];    //对应的数据库表格名$humi=$_GET['humi'];$led=$_GET['led'];$feng=$_GET['feng'];$guang=$_GET['guang'];$doji=$_GET['doji'];//连接数据库$conn = mysqli_connect($servername, $username, $password);if(! $conn ){  die('连接失败: ' . mysqli_error($conn));}echo '连接成功';//这里是sql语句,主要改这里$sql = "INSERT INTO shuj ".        "(temp,humi,led,feng,guang,doji) ".        "VALUES ".        "('$temp','$humi' ,'$led','$feng','$guang','$doji')"; mysqli_select_db( $conn, $database );$retval = mysqli_query( $conn, $sql );if(! $retval ){  die('无法插入数据: ' . mysqli_error($conn));}echo "数据插入成功\n";mysqli_close($conn);?>

如果不知道php语句怎么写,这里也可以使用phpmyadmin通过的sql转换php代码

在这里插入图片描述

这个插入和连接数据库的php文件放置在刚刚我们创建的根目录
在这里插入图片描述

3、微信小程序连接数据库和插入数据

getCurrentPages是获取当前页面数据的,80是网页默认端口,记得开放端口,把这些相关数据发送给我们刚刚的php文件,这样我们就可以把数据传输到数据库了。

我是把这个函数放在onLoad函数上定时运行的

//传数据到mysql insert:function(){  var sele =getCurrentPages();  wx.request({      url: 'http://********:80/insert.php',  //*号是刚刚创建的网址域名      data:{           name:'****',  //数据库名          password:'****',  //数据库密码          database:'****',  //数据库名          temp:sele[sele.length-1].data.temp,          humi:sele[sele.length-1].data.humi,          led:sele[sele.length-1].data.led,          feng:sele[sele.length-1].data.feng,          guang:sele[sele.length-1].data.guang,          doji:sele[sele.length-1].data.Air,      },      success: function(res)      {           console.log(res.data)      },    })},
 onLoad: function (options) {    var that=this    setInterval(function(){      that.pduan();      that.insert();    },8000    )    },

在这里插入图片描述

4、微信小程序获取数据库最新多条数据

菜鸟教程这里提供了三种方法获取数据,我是第三种上的基础改进的,因为我获取的是多条数据,后面把它们添加进去成数组,再利用json_encode把数值转换成json格式

在这里插入图片描述

$servername = "localhost:3306";$username=$_GET['name'];  $password=$_GET['password'];$database=$_GET['database'];$conn = mysqli_connect($servername, $username, $password);if(! $conn ){    die('连接失败: ' . mysqli_error($conn));}// 设置编码,防止中文乱码mysqli_query($conn , "set names utf8"); //$sql = "SELECT $user, $pass FROM test"; $sql = "SELECT * FROM `shuj`\n". " ORDER BY `id` DESC limit 8";mysqli_select_db( $conn, $database );$retval = mysqli_query( $conn, $sql );if(! $retval ){    die('无法读取数据: ' . mysqli_error($conn));}class emp{    public $id = "";    public $temp= "";    public $humi = "";    public $led = "";    public $feng= "";    public $guang = "";    public $doji= "";    }while($row = mysqli_fetch_array($retval, MYSQLI_NUM)){             //$a =array();        //$data=array('id'=>$row[0],$user =>$row[1],$pass=>$row[2]);        // array_push($a,$data);        //echo json_encode($a);        $e = new Emp();        $e->id = $row[0];        $e->temp = $row[1];        $e->humi = $row[2];        $e->led =$row[3];        $e->feng= $row[4];        $e->guang= $row[5];        $e ->doji=$row[6];        $data[] =$e;        }echo json_encode($data);// 释放内存mysqli_free_result($retval);mysqli_close($conn);?>

微信小程序只需要发送请求就可以,这里难就难在刚刚的php数据转换格式

insert:function(){    wx.request({        url: 'http://*******:80/insert.php', //服务器ip        data:{             name:'*****', //数据库名            password:'****', //数据库密码            database:'****', //数据库名            username:this.data.username,            pass:this.data.pass,        },        success: function(res)        {             console.log(res.data)        },      })
5、数据可视化

这里我是参考了另一个博主的博客做的,简单易懂,我这里稍微改进了一下,只显示日期,没有显示年份。

https://blog.csdn.net/qq_52827563/article/details/121726546?

只需要把原来getOption函数里面的requset换成我这个请求接口就可以

  getOption:function(){    var _this = this    wx.request({            url: 'http://********:80/select.php',      data:{           name:'****',          password:'****',          database:'****',      },      success:(res)=>{       _this.setData({          data:res.data       })       var i      var guang=[];      var date =[];      for(i=0;i<=res.data.length-1;i++){        guang[i]=res.data[i].guang        date[i]=res.data[i].id      }       _this.init_chart(date,guang)      },    })    }

在这里插入图片描述
在这里插入图片描述

写到这里差不多全部完工了,ESP32C3+EMQX云服务器+微信小程序+mysql画下句号

来源地址:https://blog.csdn.net/weixin_44107116/article/details/127570983

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯