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