关于这堆意义不明的代码
作者上学期期末赶出来的作业,主要用bootstrap5、SQLServer和flask实现,屑作勿喷。主要是想发上来水一水
运行效果
登录页面
登录后页面
管理页面(以活动管理为例)
查询页面(以活动管理为例)
关于实现对SQLServer的连接和操作
利用pymssql连接数据库并创建游标,利用游标实现对数据库的操作:
import pymssql
connect = pymssql.connect('','','','')#这里填数据库信息
if connect:
print("success!")
# 创建数据库访问的游标
cursor = connect.cursor()
class register_db(object):
# 插入数据的函数
def exert(sql):
# 执行sql语句
cursor.execute(sql)
connect.commit()
# 搜索数据库
def select(sql):
cursor.execute(sql)
a = cursor.fetchone()
return a[0]
def closeDB(self):
connect.close()
def select_all(sql):
cursor.execute(sql)
return cursor.fetchall()
登陆页面的实现
通过抓取窗口内用户输入的账号密码,使用SQL语句与数据库中预存的数据进行比对,若匹配则进入主页,由于各种不可抗力原因此处没有设置注册页面绝对不是因为我忘写了又懒得加 ,若需增加用户需要在数据库中自行增加。
@app.route('/', methods=['GET', 'POST'])
def pr_page():
if request.method=='GET':
return render_template('header.html')
if request.method=='POST':
key = request.form.get('Way')
UserName = request.form.get('UserName')
Password = request.form.get('Password')
UserName1 = request.form.get('UserName1')
Password1 = request.form.get('Password1')
print(Password)
print(UserName)
print("select UserName,Password from User where ContactInfo = '" + str(UserName1) + "'and Password = '" + str(Password1) + "' ")
try:
if key == '0':
r.exert("select ContactInfo,Password from [User] where ContactInfo = '" + str(UserName) + "'and Password = '" + str(Password) + "' ")
global id
print('aaa')
id = r.select("select Userid from [User] where ContactInfo = '" + str(UserName) + "'and Password = '" + str(Password) + "' ")
print(id)
Info = r.select("select ContactInfo from [User] where ContactInfo = '" + str(UserName) + "'and Password = '" + str(Password) + "' ")
data_all = r.select_all("select Name from [User] where Userid = '" + str(id) + "'")
return render_template('Login.html', data_all=data_all, data_num=len(data_all))
elif key == '1':
r.exert("delete from [User] where ContactInfo = '" + str(UserName1) + "' and Password = '" + str(Password1) + "' ")
return render_template('Success.html')
except:
return render_template('False.html')
HTML代码如下:
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>首页</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
<!-- <link rel="stylesheet" href="./css/style.css"/> -->
</head>
<body>
<form action="" method="post">
<section class="p-5 bg-warning-subtle text-center text-sm-start">
<div class="container">
<div id="" class="d-flex">
<div id="">
<h1>进行<span class="text-warning">人际管理</span></h1>
<p class="my-4">人际关系管理是一项重要的技能,对于个人和组织的成功都至关重要。在现代社会中,人们需要与各种各样的人建立良好的关系,无论是在工作场所、社交圈子还是家庭中。有效的人际关系管理可以帮助我们建立信任、增进合作、解决冲突,并促进积极的人际互动。</p>
<!-- Button trigger modal -->
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#exampleModal">
登录
</button>
<!-- Modal -->
<div class="modal fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h1 class="modal-title fs-5" id="exampleModalLabel">登录</h1>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<div class="input-group flex-nowrap">
<span class="input-group-text" id="addon-wrapping">账号</span>
<input type="text" class="form-control" placeholder="请输入账号" aria-label="Username" aria-describedby="addon-wrapping" name="UserName">
</div>
<br>
<div class="input-group flex-nowrap">
<span class="input-group-text password" id="addon-wrapping">密码</span>
<input type="password" class="form-control" placeholder="请输入密码" aria-label="Password" aria-describedby="addon-wrapping" name="Password">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">取消</button>
<button type="submit" class="btn btn-primary" name="Way" value="0">登录</button>
</div>
</div>
</div>
</div>
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#exampleModal1">
删除账号
</button>
<!-- Modal -->
<div class="modal fade" id="exampleModal1" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h1 class="modal-title fs-5" id="exampleModalLabel1">!!!删除后账号相关信息将全部删除!!!</h1>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<div class="input-group flex-nowrap">
<span class="input-group-text" id="addon-wrapping1">账号</span>
<input type="text" class="form-control" placeholder="请输入账号" aria-label="Username" aria-describedby="addon-wrapping1" name="UserName1">
</div>
<br>
<div class="input-group flex-nowrap">
<span class="input-group-text password" id="addon-wrapping1">密码</span>
<input type="password" class="form-control" placeholder="请输入密码" aria-label="Password" aria-describedby="addon-wrapping1" name="Password1">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">取消</button>
<button type="submit" class="btn btn-primary" name="Way" value="1">删除</button>
</div>
</div>
</div>
</div>
</div>
<img src="static/showcase.svg" class="w-50 h-50 d-none d-md-block">
</div>
</div>
</section>
</form>
<section class="p-5">
<div class="container" id="first">
<h2 class="text-center">设计背景</h2>
<br>
<div class="row g-4">
<!--gap-->
<div class="col-md">
<div class="card bg-dark text-light">
<div class="card-body text-center">
<h3 class="card-title">人际交流的淡化</h3>
<div class="card-text">
互联网的蓬勃发展,加之而来的三年疫情,网课、线上办公和封控的不断进行,逐渐让大多数人们失去了社交和维持人际关系的能力。
</div>
</div>
</div>
</div>
<div class="col-md">
<div class="card bg-secondary text-light">
<div class="card-body text-center">
<h3 class="card-title">恢复社交的呼唤</h3>
<div class="card-text">
通过总结自己与他人的联系,互相赠送礼品之间的记录,活动的记录,联系人的管理,记录了当代大学生人际关系中的偏向性,旨在帮助高校大学生在构建当代大学生和谐人际关系方面的作用进行细致系统地分析
</div>
</div>
</div>
</div>
<div class="col-md">
<div class="card bg-dark text-light">
<div class="card-body text-center">
<h3 class="card-title">简化社交的需求</h3>
<div class="card-text">
主要以高校学生为例,高校学生的生活社交圈为切入点,探讨大学生之间的活动以及社交圈,以及互相赠送礼物等在大学生人际交往中的作用。
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js"integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM"crossorigin="anonymous"></script>
</body>
</html>
数据库中的触发器
因为作业要求至少要用一个触发器而我又整不出好活所以这里采用了一个删除账号时同时删除与该账号有关的所有数据的触发器
ALTER TRIGGER [dbo].[DeleteUserTrigger]
ON [dbo].[User]
INSTEAD OF DELETE
AS
BEGIN
-- 删除用户的合作记录
DELETE FROM CollaborationRecord WHERE UserID IN (SELECT UserID FROM deleted);
-- 删除用户的活动记录
DELETE FROM ActivityRecord WHERE UserID IN (SELECT UserID FROM deleted);
-- 删除用户的礼物记录
DELETE FROM GiftRecord WHERE UserID IN (SELECT UserID FROM deleted);
-- 删除用户的联系人
DELETE FROM Contact WHERE UserID IN (SELECT UserID FROM deleted);
-- 删除用户的爱好记录
DELETE FROM Hobby WHERE ContactID IN (SELECT UserID FROM deleted);
-- 删除用户
DELETE FROM [User] WHERE UserID IN (SELECT UserID FROM deleted);
END;
管理页面的实现
前端采用Bootstrap5,以网页形式展现,通过执行简单的SQL语句实现对数据库内容的更新、插入、删除功能。
#以活动页面为例
@app.route('/Activity.html', methods=['GET', 'POST'])
def Activity():
if request.method == 'GET':
try:
data_all = r.select_all("select ActivityRecordID,ActivityName,Details,StartTime,EndTime,Address,Participant from UserActivityView where UserID = '" + str(id) + "' ")
return render_template('Activity.html', data_all=data_all, data_num=len(data_all))
except:
return render_template('False.html')
if request.method == 'POST':
try:
number = r.select("select max(RecordID) from ActivityRecord")
if number == None:
number = 1
else:
number += 1
key = request.form.get('key')
Former1 = request.form.get('Former')
Title1 = request.form.get('Title')
Detail1 = request.form.get('Detail')
Start1 = request.form.get('Start')
Finish1 = request.form.get('Finish')
Address1 = request.form.get('Address')
Participant1 = request.form.get('Participant')
Title2 = request.form.get('NTitle')
Detail2 = request.form.get('NDetail')
Start2 = request.form.get('NStart')
Finish2 = request.form.get('NFinish')
Address2 = request.form.get('NAddress')
Participant2 = request.form.get('NParticipant')
delete = request.form.get('delete')
if key == '1':
print('exert')
r.exert("insert into ActivityRecord VALUES('" + str(number) + "','" + str(id) + "','" + str(Title1) + "','" + str(Detail1) + "','" + str(Start1) + "','" + str(Finish1) + "','" + str(Address1) + "','" + str(Participant1) + "')")
elif key == '2':
print(delete)
r.exert("delete from ActivityRecord where RecordID = '" + str(delete) + "' and UserID = '" + str(id) + "' ")
elif key == '3':
print('new')
r.exert("update ActivityRecord set ActivityName = '" + str(Title2) + "',Details = '" + str(Detail2) + "',StartTime = '" + str(Start2) + "',EndTime = '" + str(Finish2) + "',Address = '" + str(Address2) + "',Participant = '" + str(Participant2) + "' where RecordID = '" + str(Former1) + "' and UserID = '" + str(id) + "' ")
data_all = r.select_all("select ActivityRecordID,ActivityName,Details,StartTime,EndTime,Address,Participant from UserActivityView where UserID = '" + str(id) + "' ")
return render_template('Activity.html', data_all=data_all, data_num=len(data_all))
except:
return render_template('False.html')
HTML代码如下:
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>活动管理</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
<!-- <link rel="stylesheet" href="./css/style.css"/> -->
</head>
<body>
<!-- <form action="" method="post">-->
<nav class="navbar navbar-expand-md bg-dark navbar-dark sticky-top">
<div class="container">
<a href="#" class="navbar-brand">人际管理</a>
<div class="collapse navbar-collapse" id="navmenu">
<ul class="navbar-nav ms-auto">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
爱好管理
</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="Hobby.html">管理</a></li>
<li><a class="dropdown-item" href="HobbySearch.html">查询</a></li>
</ul>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
联系人管理
</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="Connection.html">管理</a></li>
<li><a class="dropdown-item" href="ConnectionSearch.html">查询</a></li>
</ul>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
活动管理
</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="Activity.html">管理</a></li>
<li><a class="dropdown-item" href="ActivitySearch.html">查询</a></li>
</ul>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
合作管理
</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="Cooperation.html">管理</a></li>
<li><a class="dropdown-item" href="CooperationSearch.html">查询</a></li>
</ul>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
礼物管理
</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="Gift.html">管理</a></li>
<li><a class="dropdown-item" href="GiftSearch.html">查询</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<div class="accordion accordion-flush" id="accordionFlushExample">
<div class="accordion-item">
<h2 class="accordion-header" id="flush-headingOne">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#flush-collapseOne" aria-expanded="false" aria-controls="flush-collapseOne">
查看全部
</button>
</h2>
<div id="flush-collapseOne" class="accordion-collapse collapse" aria-labelledby="flush-headingOne" data-bs-parent="#accordionFlushExample">
<table>
{%for value in data_all%}
<tr>
<td>序号:{{value[0]}}, 活动: {{value[1]}}, 详情:{{value[2]}}, 开始时间: {{value[3]}}, 结束时间: {{value[4]}}, 地址: {{value[5]}}, 参与者: {{value[6]}}</td>
</tr>
{% endfor %}
</table>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header" id="flush-headingTwo">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#flush-collapseTwo" aria-expanded="false" aria-controls="flush-collapseTwo">
录入
</button>
</h2>
<div id="flush-collapseTwo" class="accordion-collapse collapse" aria-labelledby="flush-headingTwo" data-bs-parent="#accordionFlushExample">
<nav class="navbar bg-body-tertiary">
<div class="container-fluid">
<form class="d-flex" role="search" method="post">
<input class="form-control me-2" type="text" placeholder="活动名" aria-label="Search" name="Title">
<input class="form-control me-2" type="text" placeholder="细则" aria-label="Search" name="Detail">
<input class="form-control me-2" type="text" placeholder="开始时间" aria-label="Search" name="Start">
<input class="form-control me-2" type="text" placeholder="结束时间" aria-label="Search" name="Finish">
<input class="form-control me-2" type="text" placeholder="发起者" aria-label="Search" name="Initiator">
<input class="form-control me-2" type="text" placeholder="地址" aria-label="Search" name="Address">
<input class="form-control me-2" type="text" placeholder="时间" aria-label="Search" name="Time">
<input class="form-control me-2" type="text" placeholder="参与者" aria-label="Search" name="Participant">
<button class="btn btn-outline-success" type="submit" value="1" name="key">录入</button>
</form>
</div>
</nav>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header" id="flush-headingThree">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#flush-collapseThree" aria-expanded="false" aria-controls="flush-collapseThree">
更新
</button>
</h2>
<div id="flush-collapseThree" class="accordion-collapse collapse" aria-labelledby="flush-headingThree" data-bs-parent="#accordionFlushExample">
<nav class="navbar bg-body-tertiary">
<div class="container-fluid">
<form class="d-flex" role="search" method="post">
<input class="form-control me-2" type="text" placeholder="序号" aria-label="Search" name="Former">
<input class="form-control me-2" type="text" placeholder="标题" aria-label="Search" name="NTitle">
<input class="form-control me-2" type="text" placeholder="细则" aria-label="Search" name="NDetail">
<input class="form-control me-2" type="text" placeholder="开始时间" aria-label="Search" name="NStart">
<input class="form-control me-2" type="text" placeholder="结束时间" aria-label="Search" name="NFinish">
<input class="form-control me-2" type="text" placeholder="发起人" aria-label="Search" name="NInitiator">
<input class="form-control me-2" type="text" placeholder="地址" aria-label="Search" name="NAddress">
<input class="form-control me-2" type="text" placeholder="时间" aria-label="Search" name="NTime">
<input class="form-control me-2" type="text" placeholder="参与者" aria-label="Search" name="NParticipant">
<button class="btn btn-outline-success" type="submit" value="3" name="key">更新</button>
</form>
</div>
</nav>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header" id="flush-headingFour">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#flush-collapseFour" aria-expanded="false" aria-controls="flush-collapseFour">
删除
</button>
</h2>
<div id="flush-collapseFour" class="accordion-collapse collapse" aria-labelledby="flush-headingFour" data-bs-parent="#accordionFlushExample">
<nav class="navbar bg-body-tertiary">
<div class="container-fluid">
<form class="d-flex" role="search" method="post">
<input class="form-control me-2" type="text" placeholder="序号" aria-label="Search" name="delete">
<button class="btn btn-outline-success" type="submit" value="2" name="key">删除</button>
</form>
</div>
</nav>
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js"integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM"crossorigin="anonymous"></script>
<!-- </form>-->
</body>
</html>
关于对查询功能的实现
查询页面需要实现对多个数据进行查询的效果,如对张三在体育场A有过的活动记录,可以采用存储过程实现该功能,此处利用后端的判断语句实现对需要执行的查询语句组合实现该功能。
#以活动记录查询为例
@app.route('/ActivitySearch.html', methods=['GET', 'POST'])
def ActivitySearch():
if request.method == 'GET':
return render_template('ActivitySearch.html')
if request.method == 'POST':
try:
#抓取对各个项是否选取的值
try1 = request.form.get('TitleJ')
try2 = request.form.get('DetailJ')
try3 = request.form.get('StartJ')
try4 = request.form.get('FinishJ')
try6 = request.form.get('AddressJ')
try8 = request.form.get('ParticipantJ')
Title = request.form.get('Title')
Detail = request.form.get('Detail')
Start = request.form.get('Start')
Finish = request.form.get('Finish')
Address = request.form.get('Address')
Participant = request.form.get('Participant')
SearchWord1 = "select ActivityRecordID,ActivityName,Details,StartTime,EndTime,Address,Participant from UserActivityView where "
#拼接需要SQL执行的字符串
if try1 == "1":
SearchWord1 = SearchWord1 + "ActivityName = '" + str(Title) + "' and "
if try2 == "1":
SearchWord1 = SearchWord1 + "Details = '" + str(Detail) + "' and "
if try3 == "1":
SearchWord1 = SearchWord1 + "StartTime = '" + str(Start) + "' and "
if try4 == "1":
SearchWord1 = SearchWord1 + "FinishTime = '" + str(Finish) + "' and "
if try6 == "1":
SearchWord1 = SearchWord1 + "Address = '" + str(Address) + "' and "
if try8 == "1":
SearchWord1 = SearchWord1 + "Participant = '" + str(Participant) + "' and "
SearchWord1 = SearchWord1 + "UserID = '" + str(id) + "' "
print(SearchWord1)
data_all = r.select_all(SearchWord1)
return render_template('ActivitySearch.html', data_all=data_all, data_num=len(data_all))
except:
return render_template('False.html')
HTML代码如下:
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>合作管理</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
<!-- <link rel="stylesheet" href="./css/style.css"/> -->
</head>
<body>
<nav class="navbar navbar-expand-md bg-dark navbar-dark sticky-top">
<div class="container">
<a href="#" class="navbar-brand">人际管理</a>
<div class="collapse navbar-collapse" id="navmenu">
<ul class="navbar-nav ms-auto">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
爱好管理
</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="Hobby.html">管理</a></li>
<li><a class="dropdown-item" href="HobbySearch.html">查询</a></li>
</ul>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
联系人管理
</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="Connection.html">管理</a></li>
<li><a class="dropdown-item" href="ConnectionSearch.html">查询</a></li>
</ul>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
活动管理
</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="Activity.html">管理</a></li>
<li><a class="dropdown-item" href="ActivitySearch.html">查询</a></li>
</ul>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
合作管理
</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="Cooperation.html">管理</a></li>
<li><a class="dropdown-item" href="CooperationSearch.html">查询</a></li>
</ul>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
礼物管理
</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="Gift.html">管理</a></li>
<li><a class="dropdown-item" href="GiftSearch.html">查询</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<form class="" role="search" method="post">
<br>
<div class="input-group mb-3">
<div class="input-group-text">
<input class="form-check-input mt-0" type="checkbox" value="1" aria-label="Checkbox for following text input" name="TitleJ">
</div>
<input type="text" class="form-control" aria-label="Text input with checkbox" placeholder="活动名" name="Title">
</div>
<div class="input-group mb-3">
<div class="input-group-text">
<input class="form-check-input mt-0" type="checkbox" value="1" aria-label="Checkbox for following text input" name="DetailJ">
</div>
<input type="text" class="form-control" aria-label="Text input with checkbox" placeholder="细则" name="Detail">
</div>
<div class="input-group mb-3">
<div class="input-group-text">
<input class="form-check-input mt-0" type="checkbox" value="1" aria-label="Checkbox for following text input" name="StartJ">
</div>
<input type="text" class="form-control" aria-label="Text input with checkbox" placeholder="开始时间" name="Start">
</div>
<div class="input-group mb-3">
<div class="input-group-text">
<input class="form-check-input mt-0" type="checkbox" value="1" aria-label="Checkbox for following text input" name="FinishJ">
</div>
<input type="text" class="form-control" aria-label="Text input with checkbox" placeholder="结束时间" name="Finish">
</div>
<div class="input-group mb-3">
<div class="input-group-text">
<input class="form-check-input mt-0" type="checkbox" value="1" aria-label="Checkbox for following text input" name="AddressJ">
</div>
<input type="text" class="form-control" aria-label="Text input with checkbox" placeholder="地址" name="Address">
</div>
<div class="input-group mb-3">
<div class="input-group-text">
<input class="form-check-input mt-0" type="checkbox" value="1" aria-label="Checkbox for following text input" name="ParticipantJ">
</div>
<input type="text" class="form-control" aria-label="Text input with checkbox" placeholder="参与者" name="Participant">
</div>
<div class="d-grid gap-2">
<button class="btn btn-primary" type="submit">查询</button>
<button class="btn btn-primary" type="submit" onclick="document.getElementByClass('form-control')=' '" formmethod="get">重置</button>
</div>
</form>
<section class="p-5">
<div class="container" id="second">
<h2 class="text-center">搜索结果</h2>
<div class="accordion accordion-flush" id="accordionFlushExample">
<div class="accordion-item">
<h2 class="accordion-header" id="flush-headingOne">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#flush-collapseOne" aria-expanded="false" aria-controls="flush-collapseOne">
展开/收起
</button>
</h2>
<div id="flush-collapseOne" class="accordion-collapse collapse" aria-labelledby="flush-headingOne" data-bs-parent="#accordionFlushExample">
<div class="accordion-body">
<table>
{%for value in data_all%}
<tr>
<td>活动: {{value[1]}}, 详情:{{value[2]}}, 开始时间: {{value[3]}}, 结束时间: {{value[4]}}, 地址: {{value[5]}}, 参与者: {{value[6]}}</td>
</tr>
{% endfor %}
</table>
</div>
</div>
</div>
</div>
</div>
</section>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js"integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM"crossorigin="anonymous"></script>
</body>
</html>