首頁  >  文章  >  資料庫  >  如何利用MySQL和Python開發一個簡單的線上課程管理系統

如何利用MySQL和Python開發一個簡單的線上課程管理系統

PHPz
PHPz原創
2023-09-20 13:45:19836瀏覽

如何利用MySQL和Python開發一個簡單的線上課程管理系統

如何利用MySQL和Python開發一個簡單的線上課程管理系統

隨著線上教育的快速發展,課程管理系統在教育領域扮演著重要的角色。本文將介紹如何利用MySQL和Python開發一個簡單的線上課程管理系統,並提供一些程式碼範例。

一、專案概述
線上課程管理系統可以實現學生選課、教師管理課程、查看課程資訊等功能。本計畫的目標是建立一個能夠滿足基本需求的線上課程管理系統。

二、環境準備

  1. 安裝MySQL資料庫,並建立一個名為course_management的資料庫。
  2. 安裝Python,並安裝pymysql和flask函式庫。
    pip install pymysql
    pip install flask

#三、資料庫設計
在MySQL資料庫中建立以下兩張表格:

  1. #學生表( student)
    欄位:學生ID(id)、姓名(name)、年級(grade)、專業(major)
  2. 課程表(course)
    欄位:課程ID(id)、課程名稱(name)、教師ID(teacher_id)、學分(credit)

四、Python程式碼範例

  1. 連接資料庫

    import pymysql
    
    db = pymysql.connect(host="localhost", user="root", password="123456", database="course_management", charset="utf8")
    cursor = db.cursor()
  2. 查詢學生資訊

    def get_student_info(student_id):
        sql = "SELECT * FROM student WHERE id = %s"
        cursor.execute(sql, (student_id,))
        result = cursor.fetchone()
        return result
  3. 查詢課程資訊

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

    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. #教師新增課程

    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

六、啟動Web伺服器

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()

七、網頁範本(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>

以上是一個簡單的線上課程管理系統的開發範例,透過MySQL儲存數據,並透過Python和Flask搭建Web伺服器。透過這個簡單的系統,學生可以選課,教師可以新增課程,實現了基本的課程管理功能。開發者可以根據需求進行擴展和優化。

以上是如何利用MySQL和Python開發一個簡單的線上課程管理系統的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn