> 백엔드 개발 > PHP 튜토리얼 > 온라인 답변 문제에서 답변 기록 보기 및 내보내기 기능 구현 방법

온라인 답변 문제에서 답변 기록 보기 및 내보내기 기능 구현 방법

王林
풀어 주다: 2023-09-24 12:52:01
원래의
1395명이 탐색했습니다.

온라인 답변 문제에서 답변 기록 보기 및 내보내기 기능 구현 방법

온라인 답변에서 답변 기록 보기 및 내보내기 기능은 데이터베이스 및 프로그래밍 기술의 도움으로 구현할 수 있습니다. 다음은 이 기능을 구현하는 단계와 코드 예제입니다.

1단계: 데이터베이스 테이블 디자인
데이터베이스에 질문 기록 테이블과 답변 기록 테이블을 만듭니다. 문제 기록 테이블은 문제 번호, 문제 내용, 정답 등의 문제 정보를 저장하는 데 사용됩니다. 답변 기록 테이블은 사용자 ID, 질문 번호, 사용자 답변 및 답변 시간 등을 포함한 사용자의 답변 기록을 저장하는 데 사용됩니다.

다음은 질문 기록표의 샘플 코드입니다.

1

2

3

4

5

CREATE TABLE question (

    id INT PRIMARY KEY,

    content TEXT,

    correct_answer TEXT

);

로그인 후 복사

답변 기록표의 샘플 코드는 다음과 같습니다.

1

2

3

4

5

6

7

CREATE TABLE answer (

    id INT PRIMARY KEY,

    user_id INT,

    question_id INT,

    user_answer TEXT,

    answer_time TIMESTAMP

);

로그인 후 복사

2단계: 질문 입력
프로그램은 질문을 입력할 수 있는 인터페이스를 제공하며, 사용자는 문제 내용과 정답을 입력하고 문제 기록 테이블에 데이터를 저장할 수 있습니다. 다음은 샘플 코드입니다.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

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를 입력한 후 사용자의 답변 기록을 조회할 수 있는 답변 기록 보기 인터페이스를 제공합니다. 다음은 샘플 코드입니다.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

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 파일. 다음은 샘플 코드입니다.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿