Compare commits

..

2 Commits

Author SHA1 Message Date
wangsiyuan a00a85efdb 更新 database_manager.py 2023-12-29 00:47:59 +08:00
wangsiyuan feb6d1e2ce 更新 views.py 2023-12-29 00:47:57 +08:00
2 changed files with 27 additions and 2 deletions

View File

@ -166,7 +166,12 @@ def course_info():
@app.route('/api/get-course-info', methods=['GET'])
def get_course_info():
student_number = session.get('number')
db_manager = DatabaseManager()
if check_identity(student_number) == "student":
course_data = db_manager.get_class_courses(student_number)
return jsonify(course_data)
else:
course_data = db_manager.get_all_courses()
return jsonify(course_data)

View File

@ -148,3 +148,23 @@ WHERE
val = (student_number, course_id, course_name, date, status)
result = self.execute(sql, val)
return result
def get_class_courses(self,student_number):
# 1. 查询学生的主修专业
major_sql = "SELECT major_id FROM student WHERE student_number = %s;"
major_result = self.fetch(major_sql, student_number)
print(major_result)
major_id = major_result[0]['major_id']
# 2. 查询专业的所有课程ID
course_ids_sql = "SELECT course_id FROM major_course WHERE major_id = %s;"
courses_result = self.fetch(course_ids_sql, major_id)
course_ids = [course['course_id'] for course in courses_result]
# 3. 对每个课程ID查询课程详细信息
courses_data = []
for course_id in course_ids:
course_sql = "SELECT course_name, course_code, credits, description FROM course WHERE course_id = %s;"
result = self.fetch(course_sql, course_id)
courses_data.append(result[0])
return courses_data # 返回课程详细信息列表