经测试,我们决定前端可以同时选择多个类型的岗位进行查询,以显示相应的公司岗位信息
于是,修改后端函数的逻辑:
后端
首先,因为要对checkList中的job_name进行模糊匹配查询,于是使用以下代码:
def showCompanyJobInformationWithOfset():
if request.method == "POST":
company = request.json['company']
# 如果之后添加”前端“岗位,则应前端再传递一个”岗位“信息,从而到数据库中查询相应的数据
job_list = request.json['checkList']
offset = request.json['offset']
if request.method == "GET":
company = request.args.get['company']
job_list = request.json['checkList']
offset = request.json['offset']
# 创建Database类的对象sql,test为需要访问的数据库名字 具体可见Database类的构造函数
sql = Database("xmsx")
try:
# 构建SQL查询语句,使用LIKE和OR关键字进行模糊匹配
job_conditions = " OR ".join([f"job_name LIKE '%{job}%'" for job in job_list])
sql_query = f"SELECT job_name, job_require FROM companyandjob WHERE company='{company}' AND ({job_conditions}) LIMIT {offset}, 1"
result = sql.execute(sql_query)
print(result)
except Exception as e:
return {'status':"error", 'message': "code error"}
else:
print(result)
if not len(result) == 0:
#返回查询结果,根据需要进行处理
return {'status':'success','job':result[0][0],'requirement':result[0][1],}
else:
return {'status':'success','job':'无','requirement':'无'}
但是报错:
即提示sql查询错误。于是继续寻找解决方法:
try:
# 构建SQL查询语句,使用LIKE和OR关键字进行模糊匹配
job_conditions = " OR ".join([f"job_name LIKE '%{job}%'" for job in job_list])
sql_query = f"SELECT job_name, job_require FROM companyandjob WHERE company='{company}' AND ({job_conditions}) LIMIT {offset}, 1"
result = sql.execute(sql_query)
print(result)
修改为上述代码,当前端选择相应的岗位时,则显示相应的数据内容
前端
前端同时也要修改逻辑。前端改成首次进入“公司一览”界面时,默认展示所有类别岗位的相关信息。