Home  >  Article  >  Database  >  How to develop a simple online course management system using MySQL and Python

How to develop a simple online course management system using MySQL and Python

PHPz
PHPzOriginal
2023-09-20 13:45:19912browse

How to develop a simple online course management system using MySQL and Python

How to use MySQL and Python to develop a simple online course management system

With the rapid development of online education, course management systems play an important role in the education field . This article will introduce how to use MySQL and Python to develop a simple online course management system and provide some code examples.

1. Project Overview
The online course management system can realize functions such as student course selection, teacher management of courses, and viewing of course information. The goal of this project is to build an online course management system that can meet basic needs.

2. Environment preparation

  1. Install the MySQL database and create a database named course_management.
  2. Install Python, and install pymysql and flask libraries.
    pip install pymysql
    pip install flask

3. Database design
Create the following two tables in the MySQL database:

  1. Student table ( student)
    fields: student ID (id), name (name), grade (grade), major (major)
  2. Course schedule (course)
    fields: course ID (id), course Name (name), teacher ID (teacher_id), credit (credit)

4. Python code example

  1. Connect to the database

    import pymysql
    
    db = pymysql.connect(host="localhost", user="root", password="123456", database="course_management", charset="utf8")
    cursor = db.cursor()
  2. Query student information

    def get_student_info(student_id):
        sql = "SELECT * FROM student WHERE id = %s"
        cursor.execute(sql, (student_id,))
        result = cursor.fetchone()
        return result
  3. Query course information

    def get_course_info(course_id):
        sql = "SELECT * FROM course WHERE id = %s"
        cursor.execute(sql, (course_id,))
        result = cursor.fetchone()
        return result
  4. Student selection

    def select_course(student_id, course_id):
        sql = "INSERT INTO selected_course (student_id, course_id) VALUES (%s, %s)"
        try:
            cursor.execute(sql, (student_id, course_id))
            db.commit()
            return True
        except Exception as e:
            db.rollback()
            return False
  5. Teacher’s new course

    def add_course(course_name, teacher_id, credit):
        sql = "INSERT INTO course (name, teacher_id, credit) VALUES (%s, %s, %s)"
        try:
            cursor.execute(sql, (course_name, teacher_id, credit))
            db.commit()
            return True
        except Exception as e:
            db.rollback()
            return False

6. Start the Web server

from flask import Flask, request, render_template

app = Flask(__name__)

@app.route('/')
def index():
    return render_template('index.html')

@app.route('/select_course', methods=['POST'])
def select_course():
    student_id = request.form.get('student_id')
    course_id = request.form.get('course_id')
    if select_course(student_id, course_id):
        return '选课成功'
    else:
        return '选课失败'

@app.route('/add_course', methods=['POST'])
def add_course():
    course_name = request.form.get('course_name')
    teacher_id = request.form.get('teacher_id')
    credit = request.form.get('credit')
    if add_course(course_name, teacher_id, credit):
        return '新增课程成功'
    else:
        return '新增课程失败'

if __name__ == '__main__':
    app.run()

7. Web page template (index.html)

<!DOCTYPE html>
<html>
<head>
    <title>在线课程管理系统</title>
</head>
<body>
    <h2>学生选课</h2>
    <form action="/select_course" method="post">
        学生ID:<input type="text" name="student_id"><br>
        课程ID:<input type="text" name="course_id"><br>
        <input type="submit" value="确认选课">
    </form>

    <h2>教师新增课程</h2>
    <form action="/add_course" method="post">
        课程名称:<input type="text" name="course_name"><br>
        教师ID:<input type="text" name="teacher_id"><br>
        学分:<input type="text" name="credit"><br>
        <input type="submit" value="确认新增">
    </form>
</body>
</html>

The above is A simple development example of an online course management system that stores data through MySQL and builds a web server through Python and Flask. Through this simple system, students can choose courses and teachers can add new courses, realizing basic course management functions. Developers can expand and optimize according to needs.

The above is the detailed content of How to develop a simple online course management system using MySQL and Python. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn