Cara melaksanakan fungsi import dan eksport kertas ujian dalam menjawab dalam talian memerlukan contoh kod khusus
Dengan perkembangan teknologi, jawapan dalam talian sistem Ia semakin digemari oleh pelajar dan guru serta memainkan peranan penting dalam pengajaran. Sistem menjawab soalan dalam talian bukan sahaja dapat meningkatkan semangat pembelajaran pelajar, tetapi juga membolehkan guru membuat pembetulan yang cekap. Walau bagaimanapun, sistem jawapan dalam talian yang baik harus mempunyai fungsi mengimport dan mengeksport kertas ujian untuk meningkatkan fleksibiliti dan kemudahan sistem. Artikel ini akan memperkenalkan cara melaksanakan fungsi import dan eksport kertas ujian dalam sistem jawapan dalam talian dan menyediakan contoh kod khusus.
1. Pelaksanaan fungsi import kertas ujian
Sebelum melaksanakan fungsi import kertas ujian, terlebih dahulu kita perlu menjelaskan struktur data kertas ujian. Kertas ujian biasanya mengandungi tajuk kertas ujian, senarai soalan dan senarai jawapan. Senarai soalan mengandungi berbilang soalan, dan setiap soalan mempunyai jenis soalan, kandungan soalan dan senarai pilihan. Jawapan bagi setiap soalan disertakan dalam senarai jawapan. Dalam pangkalan data, tiga jadual boleh digunakan untuk mewakili struktur data kertas ujian: jadual kertas ujian, jadual soalan dan jadual jawapan.
Buat jadual bernama kertas untuk menyimpan maklumat kertas ujian. Struktur jadual adalah seperti berikut:
CIPTA kertas JADUAL (
id INT PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(255) NOT NULL
); #🎜🎜 #
CIPTA soalan JADUAL (
id INT PRIMARY KEY AUTO_INCREMENT, paper_id INT NOT NULL,
jenis soalan ENUM(' , 'Soalan aneka pilihan' Pilih topik', 'Isi tempat kosong') BUKAN NULL,
kandungan TEKS BUKAN NULL,
pilihan TEKS,
KUNCI ASING (paper_id) RUJUKAN kertas(id )
);#🎜 🎜#
Buat jadual jawapan
id INT PRIMARY KEY AUTO_INCREMENT,
question_id INT NOT NULL, answer TEXT🎜# TEXT🎜 # KUNCI ASING (id_soalan) RUJUKAN soalan(id)
);
Di atas adalah struktur jadual pangkalan data Seterusnya, kita perlu melaksanakan fungsi mengimport kertas ujian.
<form action="import.php" method="POST" enctype="multipart/form-data"> <input type="file" name="file" accept=".json"> <button type="submit">导入试卷</button> </form>
$file = $_FILES['file']['tmp_name']; $json = file_get_contents($file); $data = json_decode($json, true); $title = $data['title']; $questions = $data['questions']; // 存储试卷信息 $sql = "INSERT INTO paper (title) VALUES ('$title')"; $result = mysqli_query($conn, $sql); $paper_id = mysqli_insert_id($conn); // 存储题目信息 foreach ($questions as $question) { $type = $question['type']; $content = $question['content']; $options = $question['options']; $sql = "INSERT INTO question (paper_id, type, content, options) VALUES ('$paper_id', '$type', '$content', '$options')"; $result = mysqli_query($conn, $sql); $question_id = mysqli_insert_id($conn); // 存储答案信息 $answer = $question['answer']; $sql = "INSERT INTO answer (question_id, answer) VALUES ('$question_id', '$answer')"; $result = mysqli_query($conn, $sql); }
Pelaksanaan fungsi eksport kertas ujian adalah agak mudah. Anda hanya perlu mengeluarkan data kertas ujian daripada pangkalan data dan eksportnya dalam format JSON.
Buat halaman untuk mengeksport kertas ujian<button onclick="exportPaper()">导出试卷</button> <script> function exportPaper() { window.location.href = 'export.php'; } </script>
header('Content-Type: application/json'); header('Content-Disposition: attachment; filename="paper.json"'); $data = array(); // 获取试卷信息 $sql = "SELECT * FROM paper"; $result = mysqli_query($conn, $sql); $row = mysqli_fetch_assoc($result); $data['title'] = $row['title']; // 获取题目信息 $sql = "SELECT * FROM question WHERE paper_id = " . $row['id']; $result = mysqli_query($conn, $sql); $questions = array(); while ($row = mysqli_fetch_assoc($result)) { $question = array( 'type' => $row['type'], 'content' => $row['content'], 'options' => $row['options'], 'answer' => $row['answer'] ); $questions[] = $question; } $data['questions'] = $questions; echo json_encode($data);
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan fungsi import dan eksport kertas ujian dalam menjawab dalam talian. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!