온라인 답변에서 답변 기록 보기 및 내보내기 기능은 데이터베이스 및 프로그래밍 기술의 도움으로 구현할 수 있습니다. 다음은 이 기능을 구현하는 단계와 코드 예제입니다.
1단계: 데이터베이스 테이블 디자인
데이터베이스에 질문 기록 테이블과 답변 기록 테이블을 만듭니다. 문제 기록 테이블은 문제 번호, 문제 내용, 정답 등의 문제 정보를 저장하는 데 사용됩니다. 답변 기록 테이블은 사용자 ID, 질문 번호, 사용자 답변 및 답변 시간 등을 포함한 사용자의 답변 기록을 저장하는 데 사용됩니다.
다음은 질문 기록표의 샘플 코드입니다.
CREATE TABLE question ( id INT PRIMARY KEY, content TEXT, correct_answer TEXT );
답변 기록표의 샘플 코드는 다음과 같습니다.
CREATE TABLE answer ( id INT PRIMARY KEY, user_id INT, question_id INT, user_answer TEXT, answer_time TIMESTAMP );
2단계: 질문 입력
프로그램은 질문을 입력할 수 있는 인터페이스를 제공하며, 사용자는 문제 내용과 정답을 입력하고 문제 기록 테이블에 데이터를 저장할 수 있습니다. 다음은 샘플 코드입니다.
def add_question(content, correct_answer): # 连接数据库 conn = mysql.connector.connect(user='username', password='password', host='localhost', database='db_name') cursor = conn.cursor() # 插入数据 sql = "INSERT INTO question (content, correct_answer) VALUES (%s, %s)" val = (content, correct_answer) cursor.execute(sql, val) # 提交并关闭连接 conn.commit() cursor.close() conn.close()
3단계: 답변 기록 보기
프로그램은 사용자 ID를 입력한 후 사용자의 답변 기록을 조회할 수 있는 답변 기록 보기 인터페이스를 제공합니다. 다음은 샘플 코드입니다.
def view_answer(user_id): # 连接数据库 conn = mysql.connector.connect(user='username', password='password', host='localhost', database='db_name') cursor = conn.cursor() # 查询数据 sql = "SELECT * FROM answer WHERE user_id = %s" val = (user_id,) cursor.execute(sql, val) result = cursor.fetchall() # 打印结果 for row in result: print("Question ID:", row[2]) print("User Answer:", row[3]) print("Answer Time:", row[4]) # 关闭连接 cursor.close() conn.close()
4단계: 답변 기록 내보내기
답변 기록 내보내기 기능은 프로그램에서 제공됩니다. 사용자는 모든 답변 기록을 내보내거나 특정 사용자의 답변 기록을 내보내도록 선택할 수 있습니다. CSV 파일. 다음은 샘플 코드입니다.
import csv def export_answer(user_id=None): # 连接数据库 conn = mysql.connector.connect(user='username', password='password', host='localhost', database='db_name') cursor = conn.cursor() # 查询数据 if user_id: sql = "SELECT * FROM answer WHERE user_id = %s" val = (user_id,) cursor.execute(sql, val) else: sql = "SELECT * FROM answer" cursor.execute(sql) result = cursor.fetchall() # 导出为CSV文件 with open('answer.csv', 'w', newline='') as csvfile: writer = csv.writer(csvfile) writer.writerow(["User ID", "Question ID", "User Answer", "Answer Time"]) writer.writerows(result) # 关闭连接 cursor.close() conn.close()
위는 온라인 응답에서 응답 기록 보기 및 내보내기 기능을 구현하기 위한 몇 가지 제안 및 코드 예제입니다. 특정 요구 사항과 개발 환경에 따라 추가 최적화 및 수정이 이루어질 수 있습니다.
위 내용은 온라인 답변 문제에서 답변 기록 보기 및 내보내기 기능 구현 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!