经测试,我们决定前端可以同时选择多个类型的岗位进行查询,以显示相应的公司岗位信息
于是,修改后端函数的逻辑:
后端
首先,因为要对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)
修改为上述代码,当前端选择相应的岗位时,则显示相应的数据内容
前端
前端同时也要修改逻辑。前端改成首次进入“公司一览”界面时,默认展示所有类别岗位的相关信息。