微信小程序开发笔记[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]
个人类型的小程序暂不支持使用
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」