微信小程序开发笔记[4]-核心业务实现

表单提交

小程序需要借助后端的php才能与数据库交互
[https://www.cnblogs.com/pjc20/p/7707640.html]
[https://www.cnblogs.com/ranju/p/14078030.html]
[https://www.jb51.net/article/235369.htm]
[https://blog.csdn.net/weixin_43466318/article/details/108453165]

设置服务器通信域名

[https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html]

上传图片

[https://www.jb51.net/article/141014.htm]

数据库交互

连接数据库:mysql -h bdm775972575.my3w.com -u bdm775972575 -p --ssl-mode=DISABLED

报错解决

ERROR 2026 (HY000): SSL connection error: error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol
加上--ssl-mode=DISABLED,原因应该是新系统升级了 openssl 的版本,提高了最低安全协议的版本,应该是为了安全,低版本的 ssl 不再被支持

显示数据库

show databases;

+--------------------+
| Database           |
+--------------------+
| information_schema |
| bdm775972575_db    |
+--------------------+

进入数据库
use bdm775972575_db;

创建数据表

show tables;

Empty set (0.04 sec)

数据表创建有7个字段(时间YY-MM-DD_HH:MM:SS)(联系方式)(宿舍楼)(报修物品)(故障描述)(报修物品图片)(维修状态)
[https://zhuanlan.zhihu.com/p/370510336]
create table repair_info(time TEXT,phone TEXT,address TEXT,object TEXT,description TEXT,img TEXT,status TEXT);
数据表(table)简称表,它是数据库最重要的组成部分之一。数据库只是一个框架,表才是实质内容。
而一个数据库中一般会有多张表,这些各自独立的表通过建立关系被联接起来,才成为可以交叉查阅、一目了然的数据库。
备注:图片500x500px,实际上缩放显示为50x50px

查看数据表内容

SELECT * FROM repair_info;

插入数据

INSERT INTO repair_info VALUES("2022-8-4_14:34:20","14444444444","北区9号楼","蓝牙耳机","充不进电","无","新建工单");

获取行号

SELECT 
  @rownum:= @rownum + 1 AS rownum,
	time,
	phone,
	address,
	object,
	discription,
	img,
	status
FROM
  (SELECT @rownum := 0) t,`repair_info`
ORDER BY
  time DESC;

读取数据库呈现到网页后台

[https://blog.csdn.net/a18339063397/article/details/122009327]
php与数据库交互
[https://zhuanlan.zhihu.com/p/199266247]

function getData(){
    $servername = "hello.my3w.com";
    $username = "hello";
    $password = "hello";
    $dbname = "hello";
    // 创建连接
    $conn = new mysqli($servername, $username, $password, $dbname);
    // Check connection
    if ($conn->connect_error) {
      die("连接失败: " . $conn->connect_error);
      echo "<text>连接数据库失败</text>";
    }
    echo "<text>连接数据库成功</text>";
    //进入repair_info数据表
    $sql = "SELECT * FROM repair_info";
    $result = $conn->query($sql);
    $arrTr=array();
    if ($result->num_rows > 0) {
      // 输出数据
      while($row = $result->fetch_assoc()) {
          array_push($arrTr,array($row['rownum'],$row["img"],$row['phone'],$row['address'],$row['object'],$row['discription'],$row['status'],$row['time']));
      }
    } else {
      echo "<text>空</text>";
    }
    $conn->close();
    return $arrTr;
}
$arrTr=getData();

后台管理页面效果(简洁线条风格):



trans.php

<?php
$servername = "hello.my3w.com";//数据库地址
$username = "hello";//用户名称
$password = "hello";//数据库密码
$dbname = "bdmhello_db";//自己创建的数据库名

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
    echo "连接数据库失败";
} 
echo "连接数据库成功";
$_1= $_POST['_1'];//html表单传过来的数据(联系方式)
echo "</br>_1值为$_1";
echo "</br>";
$_2= $_POST['_2'];//html表单传过来的数据(宿舍楼)
$_3= $_POST['_3'];//html表单传过来的数据(报修物品)
$_4= $_POST['_4'];//html表单传过来的数据(故障描述)
$_5= $_POST['_5'];//html表单传过来的数据(物品图片)
//插入记录
//$sql = 'USE bdm775972575_db;INSERT INTO repair_info(phone,object,discription) VALUES("$_1","$_3","$_4");';
$sql = 'USE bdm775972575_db;';
if($conn->query($sql)===TRUE){
  echo "进入bdm775972575_db成功\n";
}
$sql="INSERT INTO repair_info(phone,object,discription) VALUES('$_1','$_3','$_4');";
if($_1 && $_3 && $_4){
if ($conn->query($sql) === TRUE) {
    echo "新记录插入成功";
} else {
    echo "新记录插入失败";
    echo "Error: " . $sql . "<br>" . $conn->error;
 }
}else{
  echo "传递了空值";
}
$conn->close();
?>

服务提醒(无需公众号(服务号))(待定)

[https://blog.csdn.net/weixin_44467567/article/details/111942539]
功能就是核心业务完成后提醒用户取件

为了赶开发进度

内嵌网页

[https://developers.weixin.qq.com/miniprogram/dev/component/web-view.html]
个人类型的小程序暂不支持使用

显示用户头像

[https://zhuanlan.zhihu.com/p/362032946]

posted @ 2022-08-06 05:56  qsBye  阅读(51)  评论(0编辑  收藏  举报