Trong hướng dẫn trước của chúng tôi, chúng tôi đã phát triển Hệ thống quản lý quan hệ khách hàng [CRM] với PHP và MySQL. Trong hướng dẫn này, chúng tôi sẽ phát triển Hệ thống thi trực tuyến với PHP và MySQL
Hệ thống thi trực tuyến là một ứng dụng web có thể được sử dụng cho mục đích giáo dục. Hệ thống bài kiểm tra cho phép tạo các bài kiểm tra hoàn chỉnh với các câu hỏi và các tùy chọn của nó. Quyền truy cập bài kiểm tra được cấp cho người dùng để hoàn thành bài kiểm tra trong một thời gian nhất định. Hệ thống cũng cho phép người dùng xem kết quả bài kiểm tra của họ
Các hệ thống thi trực tuyến luôn có nhu cầu vì hầu hết các kỳ thi hoặc bài kiểm tra đều được thực hiện trực tuyến. Vì vậy, nếu bạn là nhà phát triển và đang tìm kiếm giải pháp để phát triển hệ thống bài kiểm tra trực tuyến của mình thì bạn đã đến đúng nơi. Trong hướng dẫn này, bạn sẽ học cách phát triển hệ thống kiểm tra trực tuyến của riêng mình với PHP và MySQL
Ngoài ra, đọc
- Hệ thống quản lý người dùng với PHP & MySQL
- Xây dựng hệ thống Helpdesk với jQuery, PHP & MySQL
- Xây dựng hệ thống bỏ phiếu trực tuyến với PHP & MySQL
- Hệ thống quản lý trường học với PHP & MySQL
- Hệ thống quản lý dự án với PHP và MySQL
- Hệ thống quản lý bệnh viện bằng PHP & MySQL
Ở đây chúng tôi sẽ phát triển một hệ thống kiểm tra trực tuyến và đề cập đến những điều sau đây
Người quản trị có thể làm như sau
- Thêm/Chỉnh sửa Bài kiểm tra với các câu hỏi và tùy chọn
- quản lý người dùng
Người dùng có thể làm như sau
- Đăng ký thi
- Xem bài kiểm tra riêng
- hoàn thành bài kiểm tra
- Xem kết quả thi
Vậy hãy bắt tay vào phát triển hệ thống CRM với PHP và MySQL. Các tập tin chính là
- người sử dụng. php
- thi. php
- ghi danh. php
- câu hỏi. php
- lượt xem. php
- process_exam. php
- Người sử dụng. php. Một lớp chứa các phương thức của người dùng
- Thi. php. Một lớp chứa các phương thức liên quan đến kỳ thi
- câu hỏi. php. Một lớp chứa các phương thức liên quan đến câu hỏi
Bước 1. Tạo bảng cơ sở dữ liệu MySQL
Đầu tiên chúng ta sẽ tạo các bảng cơ sở dữ liệu MySQL cho hệ thống thi trực tuyến của chúng ta. Các bảng chính sau đây
Ta sẽ tạo bảng
CREATE TABLE `online_exam_question` [ `id` int[11] NOT NULL, `exam_id` int[11] NOT NULL, `question` text NOT NULL, `answer` enum['1','2','3','4'] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;4 để lưu thông tin người dùng
CREATE TABLE `online_exam_user` [ `id` int[11] UNSIGNED NOT NULL, `first_name` varchar[255] DEFAULT NULL, `last_name` varchar[255] DEFAULT NULL, `gender` enum['Male','Female'] NOT NULL, `email` varchar[255] DEFAULT NULL, `password` varchar[64] NOT NULL, `mobile` varchar[12] NOT NULL, `address` text NOT NULL, `created` datetime NOT NULL DEFAULT current_timestamp[], `role` enum['user','admin'] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8;
Ta sẽ tạo bảng
CREATE TABLE `online_exam_question` [ `id` int[11] NOT NULL, `exam_id` int[11] NOT NULL, `question` text NOT NULL, `answer` enum['1','2','3','4'] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;5 để lưu trữ thông tin kỳ thi
CREATE TABLE `online_exam_exams` [ `id` int[11] NOT NULL, `user_id` int[11] NOT NULL, `exam_title` varchar[250] NOT NULL, `exam_datetime` datetime NOT NULL, `duration` varchar[30] NOT NULL, `total_question` int[5] NOT NULL, `marks_per_right_answer` varchar[30] NOT NULL, `marks_per_wrong_answer` varchar[30] NOT NULL, `created_on` datetime NOT NULL, `status` enum['Pending','Created','Started','Completed'] NOT NULL, `exam_code` varchar[100] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;
Ta sẽ tạo bảng
CREATE TABLE `online_exam_question` [ `id` int[11] NOT NULL, `exam_id` int[11] NOT NULL, `question` text NOT NULL, `answer` enum['1','2','3','4'] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;6 để lưu trữ thông tin đề thi
CREATE TABLE `online_exam_question` [ `id` int[11] NOT NULL, `exam_id` int[11] NOT NULL, `question` text NOT NULL, `answer` enum['1','2','3','4'] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;
Ta sẽ tạo bảng
CREATE TABLE `online_exam_question` [ `id` int[11] NOT NULL, `exam_id` int[11] NOT NULL, `question` text NOT NULL, `answer` enum['1','2','3','4'] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;7 để lưu trữ thông tin các phương án câu hỏi
CREATE TABLE `online_exam_option` [ `id` int[11] NOT NULL, `question_id` int[11] NOT NULL, `option` int[2] NOT NULL, `title` varchar[250] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;
và chúng ta sẽ tạo bảng
CREATE TABLE `online_exam_question` [ `id` int[11] NOT NULL, `exam_id` int[11] NOT NULL, `question` text NOT NULL, `answer` enum['1','2','3','4'] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;8 để lưu thông tin đáp án đề thi
CREATE TABLE `online_exam_question_answer` [ `id` int[11] NOT NULL, `user_id` int[11] NOT NULL, `exam_id` int[11] NOT NULL, `question_id` int[11] NOT NULL, `user_answer_option` enum['0','1','2','3','4'] NOT NULL, `marks` varchar[20] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;
Bước 2. Quản lý phần thi
Chúng tôi sẽ triển khai chức năng trong tệp
CREATE TABLE `online_exam_question` [ `id` int[11] NOT NULL, `exam_id` int[11] NOT NULL, `question` text NOT NULL, `answer` enum['1','2','3','4'] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;9 để quản lý bài kiểm tra. Chúng tôi sẽ tạo HTML để thêm, chỉnh sửa và xóa bài kiểm tra
CREATE TABLE `online_exam_user` [ `id` int[11] UNSIGNED NOT NULL, `first_name` varchar[255] DEFAULT NULL, `last_name` varchar[255] DEFAULT NULL, `gender` enum['Male','Female'] NOT NULL, `email` varchar[255] DEFAULT NULL, `password` varchar[64] NOT NULL, `mobile` varchar[12] NOT NULL, `address` text NOT NULL, `created` datetime NOT NULL DEFAULT current_timestamp[], `role` enum['user','admin'] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8;1
Chúng tôi sẽ triển khai chức năng trong
CREATE TABLE `online_exam_option` [ `id` int[11] NOT NULL, `question_id` int[11] NOT NULL, `option` int[2] NOT NULL, `title` varchar[250] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;0 để mở thêm phương thức biểu mẫu bài kiểm tra mới để thêm bài kiểm tra mới
CREATE TABLE `online_exam_user` [ `id` int[11] UNSIGNED NOT NULL, `first_name` varchar[255] DEFAULT NULL, `last_name` varchar[255] DEFAULT NULL, `gender` enum['Male','Female'] NOT NULL, `email` varchar[255] DEFAULT NULL, `password` varchar[64] NOT NULL, `mobile` varchar[12] NOT NULL, `address` text NOT NULL, `created` datetime NOT NULL DEFAULT current_timestamp[], `role` enum['user','admin'] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8;3
Trong tệp _______ 71, chúng tôi sẽ kiểm tra hành động thêm bài kiểm tra và gọi phương thức _______ 72 từ lớp
CREATE TABLE `online_exam_option` [ `id` int[11] NOT NULL, `question_id` int[11] NOT NULL, `option` int[2] NOT NULL, `title` varchar[250] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;3 để thêm bài kiểm tra
CREATE TABLE `online_exam_user` [ `id` int[11] UNSIGNED NOT NULL, `first_name` varchar[255] DEFAULT NULL, `last_name` varchar[255] DEFAULT NULL, `gender` enum['Male','Female'] NOT NULL, `email` varchar[255] DEFAULT NULL, `password` varchar[64] NOT NULL, `mobile` varchar[12] NOT NULL, `address` text NOT NULL, `created` datetime NOT NULL DEFAULT current_timestamp[], `role` enum['user','admin'] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8;7
Chúng tôi sẽ triển khai phương thức
CREATE TABLE `online_exam_option` [ `id` int[11] NOT NULL, `question_id` int[11] NOT NULL, `option` int[2] NOT NULL, `title` varchar[250] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;2 trong lớp
CREATE TABLE `online_exam_option` [ `id` int[11] NOT NULL, `question_id` int[11] NOT NULL, `option` int[2] NOT NULL, `title` varchar[250] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;3 để thêm bài kiểm tra mới vào cơ sở dữ liệu
CREATE TABLE `online_exam_question` [ `id` int[11] NOT NULL, `exam_id` int[11] NOT NULL, `question` text NOT NULL, `answer` enum['1','2','3','4'] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;0
Chúng tôi sẽ thực hiện phương pháp
CREATE TABLE `online_exam_option` [ `id` int[11] NOT NULL, `question_id` int[11] NOT NULL, `option` int[2] NOT NULL, `title` varchar[250] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;6 trong lớp
CREATE TABLE `online_exam_option` [ `id` int[11] NOT NULL, `question_id` int[11] NOT NULL, `option` int[2] NOT NULL, `title` varchar[250] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;3 để cập nhật bài kiểm tra
CREATE TABLE `online_exam_question` [ `id` int[11] NOT NULL, `exam_id` int[11] NOT NULL, `question` text NOT NULL, `answer` enum['1','2','3','4'] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;3
Chúng tôi sẽ thực hiện phương pháp
CREATE TABLE `online_exam_option` [ `id` int[11] NOT NULL, `question_id` int[11] NOT NULL, `option` int[2] NOT NULL, `title` varchar[250] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;8 trong lớp
CREATE TABLE `online_exam_option` [ `id` int[11] NOT NULL, `question_id` int[11] NOT NULL, `option` int[2] NOT NULL, `title` varchar[250] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;3 để xóa bài kiểm tra
CREATE TABLE `online_exam_exams` [ `id` int[11] NOT NULL, `user_id` int[11] NOT NULL, `exam_title` varchar[250] NOT NULL, `exam_datetime` datetime NOT NULL, `duration` varchar[30] NOT NULL, `total_question` int[5] NOT NULL, `marks_per_right_answer` varchar[30] NOT NULL, `marks_per_wrong_answer` varchar[30] NOT NULL, `created_on` datetime NOT NULL, `status` enum['Pending','Created','Started','Completed'] NOT NULL, `exam_code` varchar[100] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;0
Chúng tôi cũng sẽ thực hiện phương pháp
CREATE TABLE `online_exam_question_answer` [ `id` int[11] NOT NULL, `user_id` int[11] NOT NULL, `exam_id` int[11] NOT NULL, `question_id` int[11] NOT NULL, `user_answer_option` enum['0','1','2','3','4'] NOT NULL, `marks` varchar[20] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;0 trong lớp
CREATE TABLE `online_exam_option` [ `id` int[11] NOT NULL, `question_id` int[11] NOT NULL, `option` int[2] NOT NULL, `title` varchar[250] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;3 để liệt kê tất cả các bài kiểm tra
CREATE TABLE `online_exam_exams` [ `id` int[11] NOT NULL, `user_id` int[11] NOT NULL, `exam_title` varchar[250] NOT NULL, `exam_datetime` datetime NOT NULL, `duration` varchar[30] NOT NULL, `total_question` int[5] NOT NULL, `marks_per_right_answer` varchar[30] NOT NULL, `marks_per_wrong_answer` varchar[30] NOT NULL, `created_on` datetime NOT NULL, `status` enum['Pending','Created','Started','Completed'] NOT NULL, `exam_code` varchar[100] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;1
Bước 3. Quản lý câu hỏi thi
Chúng tôi sẽ tạo HTML để triển khai chức năng trong
CREATE TABLE `online_exam_question_answer` [ `id` int[11] NOT NULL, `user_id` int[11] NOT NULL, `exam_id` int[11] NOT NULL, `question_id` int[11] NOT NULL, `user_answer_option` enum['0','1','2','3','4'] NOT NULL, `marks` varchar[20] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;2 để thêm, chỉnh sửa và xóa các câu hỏi. Chúng tôi cũng sẽ xử lý chức năng thêm tùy chọn câu hỏi
CREATE TABLE `online_exam_exams` [ `id` int[11] NOT NULL, `user_id` int[11] NOT NULL, `exam_title` varchar[250] NOT NULL, `exam_datetime` datetime NOT NULL, `duration` varchar[30] NOT NULL, `total_question` int[5] NOT NULL, `marks_per_right_answer` varchar[30] NOT NULL, `marks_per_wrong_answer` varchar[30] NOT NULL, `created_on` datetime NOT NULL, `status` enum['Pending','Created','Started','Completed'] NOT NULL, `exam_code` varchar[100] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;2
Trong
CREATE TABLE `online_exam_question_answer` [ `id` int[11] NOT NULL, `user_id` int[11] NOT NULL, `exam_id` int[11] NOT NULL, `question_id` int[11] NOT NULL, `user_answer_option` enum['0','1','2','3','4'] NOT NULL, `marks` varchar[20] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;3, chúng tôi sẽ triển khai chức năng mở câu hỏi thêm phương thức
CREATE TABLE `online_exam_exams` [ `id` int[11] NOT NULL, `user_id` int[11] NOT NULL, `exam_title` varchar[250] NOT NULL, `exam_datetime` datetime NOT NULL, `duration` varchar[30] NOT NULL, `total_question` int[5] NOT NULL, `marks_per_right_answer` varchar[30] NOT NULL, `marks_per_wrong_answer` varchar[30] NOT NULL, `created_on` datetime NOT NULL, `status` enum['Pending','Created','Started','Completed'] NOT NULL, `exam_code` varchar[100] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;3
Chúng tôi sẽ kiểm tra hành động
CREATE TABLE `online_exam_question_answer` [ `id` int[11] NOT NULL, `user_id` int[11] NOT NULL, `exam_id` int[11] NOT NULL, `question_id` int[11] NOT NULL, `user_answer_option` enum['0','1','2','3','4'] NOT NULL, `marks` varchar[20] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;4 và triển khai chức năng gọi phương thức
CREATE TABLE `online_exam_option` [ `id` int[11] NOT NULL, `question_id` int[11] NOT NULL, `option` int[2] NOT NULL, `title` varchar[250] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;2 từ lớp
CREATE TABLE `online_exam_question_answer` [ `id` int[11] NOT NULL, `user_id` int[11] NOT NULL, `exam_id` int[11] NOT NULL, `question_id` int[11] NOT NULL, `user_answer_option` enum['0','1','2','3','4'] NOT NULL, `marks` varchar[20] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;6 để thêm câu hỏi với các tùy chọn
CREATE TABLE `online_exam_exams` [ `id` int[11] NOT NULL, `user_id` int[11] NOT NULL, `exam_title` varchar[250] NOT NULL, `exam_datetime` datetime NOT NULL, `duration` varchar[30] NOT NULL, `total_question` int[5] NOT NULL, `marks_per_right_answer` varchar[30] NOT NULL, `marks_per_wrong_answer` varchar[30] NOT NULL, `created_on` datetime NOT NULL, `status` enum['Pending','Created','Started','Completed'] NOT NULL, `exam_code` varchar[100] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;4
Chúng tôi sẽ thực hiện phương pháp
CREATE TABLE `online_exam_option` [ `id` int[11] NOT NULL, `question_id` int[11] NOT NULL, `option` int[2] NOT NULL, `title` varchar[250] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;2 trong lớp
CREATE TABLE `online_exam_question_answer` [ `id` int[11] NOT NULL, `user_id` int[11] NOT NULL, `exam_id` int[11] NOT NULL, `question_id` int[11] NOT NULL, `user_answer_option` enum['0','1','2','3','4'] NOT NULL, `marks` varchar[20] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;6 để thêm câu hỏi với các tùy chọn
CREATE TABLE `online_exam_exams` [ `id` int[11] NOT NULL, `user_id` int[11] NOT NULL, `exam_title` varchar[250] NOT NULL, `exam_datetime` datetime NOT NULL, `duration` varchar[30] NOT NULL, `total_question` int[5] NOT NULL, `marks_per_right_answer` varchar[30] NOT NULL, `marks_per_wrong_answer` varchar[30] NOT NULL, `created_on` datetime NOT NULL, `status` enum['Pending','Created','Started','Completed'] NOT NULL, `exam_code` varchar[100] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;5
Bước 4. Thực hiện đăng ký dự thi
Chúng tôi sẽ tạo HTML để hiển thị danh sách thả xuống của bài kiểm tra để cho phép người dùng đăng ký bài kiểm tra để hoàn thành bài kiểm tra
CREATE TABLE `online_exam_exams` [ `id` int[11] NOT NULL, `user_id` int[11] NOT NULL, `exam_title` varchar[250] NOT NULL, `exam_datetime` datetime NOT NULL, `duration` varchar[30] NOT NULL, `total_question` int[5] NOT NULL, `marks_per_right_answer` varchar[30] NOT NULL, `marks_per_wrong_answer` varchar[30] NOT NULL, `created_on` datetime NOT NULL, `status` enum['Pending','Created','Started','Completed'] NOT NULL, `exam_code` varchar[100] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;6
Chúng tôi sẽ triển khai chức năng đăng ký dự thi
CREATE TABLE `online_exam_exams` [ `id` int[11] NOT NULL, `user_id` int[11] NOT NULL, `exam_title` varchar[250] NOT NULL, `exam_datetime` datetime NOT NULL, `duration` varchar[30] NOT NULL, `total_question` int[5] NOT NULL, `marks_per_right_answer` varchar[30] NOT NULL, `marks_per_wrong_answer` varchar[30] NOT NULL, `created_on` datetime NOT NULL, `status` enum['Pending','Created','Started','Completed'] NOT NULL, `exam_code` varchar[100] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;7
Trong
CREATE TABLE `online_exam_question_answer` [ `id` int[11] NOT NULL, `user_id` int[11] NOT NULL, `exam_id` int[11] NOT NULL, `question_id` int[11] NOT NULL, `user_answer_option` enum['0','1','2','3','4'] NOT NULL, `marks` varchar[20] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;9, chúng tôi sẽ kiểm tra hành động
CREATE TABLE `online_exam_user` [ `id` int[11] UNSIGNED NOT NULL, `first_name` varchar[255] DEFAULT NULL, `last_name` varchar[255] DEFAULT NULL, `gender` enum['Male','Female'] NOT NULL, `email` varchar[255] DEFAULT NULL, `password` varchar[64] NOT NULL, `mobile` varchar[12] NOT NULL, `address` text NOT NULL, `created` datetime NOT NULL DEFAULT current_timestamp[], `role` enum['user','admin'] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8;10 và gọi phương thức
CREATE TABLE `online_exam_user` [ `id` int[11] UNSIGNED NOT NULL, `first_name` varchar[255] DEFAULT NULL, `last_name` varchar[255] DEFAULT NULL, `gender` enum['Male','Female'] NOT NULL, `email` varchar[255] DEFAULT NULL, `password` varchar[64] NOT NULL, `mobile` varchar[12] NOT NULL, `address` text NOT NULL, `created` datetime NOT NULL DEFAULT current_timestamp[], `role` enum['user','admin'] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8;11 từ lớp
CREATE TABLE `online_exam_option` [ `id` int[11] NOT NULL, `question_id` int[11] NOT NULL, `option` int[2] NOT NULL, `title` varchar[250] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;3 để đăng ký dự thi
CREATE TABLE `online_exam_exams` [ `id` int[11] NOT NULL, `user_id` int[11] NOT NULL, `exam_title` varchar[250] NOT NULL, `exam_datetime` datetime NOT NULL, `duration` varchar[30] NOT NULL, `total_question` int[5] NOT NULL, `marks_per_right_answer` varchar[30] NOT NULL, `marks_per_wrong_answer` varchar[30] NOT NULL, `created_on` datetime NOT NULL, `status` enum['Pending','Created','Started','Completed'] NOT NULL, `exam_code` varchar[100] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;8
Chúng tôi sẽ triển khai phương pháp
CREATE TABLE `online_exam_user` [ `id` int[11] UNSIGNED NOT NULL, `first_name` varchar[255] DEFAULT NULL, `last_name` varchar[255] DEFAULT NULL, `gender` enum['Male','Female'] NOT NULL, `email` varchar[255] DEFAULT NULL, `password` varchar[64] NOT NULL, `mobile` varchar[12] NOT NULL, `address` text NOT NULL, `created` datetime NOT NULL DEFAULT current_timestamp[], `role` enum['user','admin'] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8;11 trong lớp
CREATE TABLE `online_exam_option` [ `id` int[11] NOT NULL, `question_id` int[11] NOT NULL, `option` int[2] NOT NULL, `title` varchar[250] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;3 để đăng ký bài kiểm tra cho người dùng để hoàn thành nó
CREATE TABLE `online_exam_exams` [ `id` int[11] NOT NULL, `user_id` int[11] NOT NULL, `exam_title` varchar[250] NOT NULL, `exam_datetime` datetime NOT NULL, `duration` varchar[30] NOT NULL, `total_question` int[5] NOT NULL, `marks_per_right_answer` varchar[30] NOT NULL, `marks_per_wrong_answer` varchar[30] NOT NULL, `created_on` datetime NOT NULL, `status` enum['Pending','Created','Started','Completed'] NOT NULL, `exam_code` varchar[100] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;9
Bước5. Triển khai Xem kỳ thi
Chúng tôi sẽ tạo HTML để hiển thị các câu hỏi kiểm tra với các tùy chọn để hoàn thành bài kiểm tra. Chúng tôi cũng sẽ hiển thị thời gian câu hỏi với bộ đếm thời gian để hiển thị thời gian còn lại của bài kiểm tra để hoàn thành bài kiểm tra trong thời gian đó
CREATE TABLE `online_exam_question` [ `id` int[11] NOT NULL, `exam_id` int[11] NOT NULL, `question` text NOT NULL, `answer` enum['1','2','3','4'] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;0
Ta sẽ hiện thực hàm
CREATE TABLE `online_exam_user` [ `id` int[11] UNSIGNED NOT NULL, `first_name` varchar[255] DEFAULT NULL, `last_name` varchar[255] DEFAULT NULL, `gender` enum['Male','Female'] NOT NULL, `email` varchar[255] DEFAULT NULL, `password` varchar[64] NOT NULL, `mobile` varchar[12] NOT NULL, `address` text NOT NULL, `created` datetime NOT NULL DEFAULT current_timestamp[], `role` enum['user','admin'] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8;15 trong
CREATE TABLE `online_exam_question_answer` [ `id` int[11] NOT NULL, `user_id` int[11] NOT NULL, `exam_id` int[11] NOT NULL, `question_id` int[11] NOT NULL, `user_answer_option` enum['0','1','2','3','4'] NOT NULL, `marks` varchar[20] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;9 để load đề thi
CREATE TABLE `online_exam_question` [ `id` int[11] NOT NULL, `exam_id` int[11] NOT NULL, `question` text NOT NULL, `answer` enum['1','2','3','4'] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;1
Chúng tôi sẽ kiểm tra hành động
CREATE TABLE `online_exam_user` [ `id` int[11] UNSIGNED NOT NULL, `first_name` varchar[255] DEFAULT NULL, `last_name` varchar[255] DEFAULT NULL, `gender` enum['Male','Female'] NOT NULL, `email` varchar[255] DEFAULT NULL, `password` varchar[64] NOT NULL, `mobile` varchar[12] NOT NULL, `address` text NOT NULL, `created` datetime NOT NULL DEFAULT current_timestamp[], `role` enum['user','admin'] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8;17 và gọi phương thức
CREATE TABLE `online_exam_user` [ `id` int[11] UNSIGNED NOT NULL, `first_name` varchar[255] DEFAULT NULL, `last_name` varchar[255] DEFAULT NULL, `gender` enum['Male','Female'] NOT NULL, `email` varchar[255] DEFAULT NULL, `password` varchar[64] NOT NULL, `mobile` varchar[12] NOT NULL, `address` text NOT NULL, `created` datetime NOT NULL DEFAULT current_timestamp[], `role` enum['user','admin'] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8;18 từ lớp
CREATE TABLE `online_exam_option` [ `id` int[11] NOT NULL, `question_id` int[11] NOT NULL, `option` int[2] NOT NULL, `title` varchar[250] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1;3 để tải câu hỏi thi