Fungsi melihat dan mengeksport rekod jawapan dalam menjawab dalam talian boleh dicapai dengan bantuan pangkalan data dan teknologi pengaturcaraan. Di bawah ialah langkah dan contoh kod untuk melaksanakan ciri ini.
Langkah 1: Reka bentuk jadual pangkalan data
Buat jadual rekod soalan dan jadual rekod jawapan dalam pangkalan data. Jadual rekod soalan digunakan untuk menyimpan maklumat soalan, termasuk nombor soalan, kandungan soalan, jawapan betul, dll. Jadual rekod jawapan digunakan untuk menyimpan rekod jawapan pengguna, termasuk ID pengguna, nombor soalan, jawapan pengguna dan masa menjawab, dsb.
Berikut ialah contoh kod untuk jadual rekod soalan:
CREATE TABLE question ( id INT PRIMARY KEY, content TEXT, correct_answer TEXT );
Berikut ialah contoh kod untuk jadual rekod jawapan:
CREATE TABLE answer ( id INT PRIMARY KEY, user_id INT, question_id INT, user_answer TEXT, answer_time TIMESTAMP );
Langkah 2: Masukkan soalan
Program ini menyediakan antara muka untuk memasukkan soalan, dan pengguna boleh memasukkan isi soalan dan jawapan yang betul Dan menyimpan data dalam jadual rekod soalan. Berikut ialah contoh kod:
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()
Langkah 3: Lihat rekod jawapan
Program ini menyediakan antara muka melihat rekod jawapan Pengguna boleh memasukkan ID pengguna dan kemudian menanyakan rekod jawapan pengguna. Berikut ialah kod contoh:
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()
Langkah 4: Eksport rekod jawapan
Fungsi eksport rekod jawapan disediakan dalam program Pengguna boleh memilih untuk mengeksport semua rekod jawapan atau rekod jawapan pengguna tertentu, dan mengeksport data ke a fail CSV. Berikut ialah contoh kod:
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()
Di atas adalah beberapa cadangan dan contoh kod untuk melaksanakan fungsi melihat rekod jawapan dan eksport dalam menjawab dalam talian. Bergantung pada keperluan khusus dan persekitaran pembangunan, pengoptimuman dan pengubahsuaian selanjutnya boleh dibuat.
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan fungsi melihat dan mengeksport rekod jawapan dalam soalan menjawab dalam talian. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!