Code
Code
import sqlite3
def init_db():
conn = sqlite3.connect('course_management.db')
c = conn.cursor()
c.execute('''
CREATE TABLE IF NOT EXISTS students (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT,
email TEXT,
phone TEXT,
course_id INTEGER,
FOREIGN KEY (course_id) REFERENCES courses(id)
)
''')
conn.commit()
conn.close()
if course_id:
c.execute("UPDATE courses SET name = ?, description = ? WHERE id = ?",
(name, description, course_id))
else:
c.execute(
"INSERT INTO courses (name, description) VALUES (?, ?)", (name,
description))
conn.commit()
conn.close()
# Function to view all courses and the number of students joined each course
def view_courses():
conn = sqlite3.connect('course_management.db')
c = conn.cursor()
c.execute("SELECT courses.name, courses.description, courses.id FROM courses")
courses = c.fetchall()
conn.close()
return courses
def delete_course(course_id):
conn = sqlite3.connect('course_management.db')
c = conn.cursor()
c.execute("DELETE FROM courses WHERE id = ?", (course_id,))
conn.commit()
conn.close()
if student_id:
c.execute("UPDATE students SET name = ?, email = ?, phone = ?, course_id
= ? WHERE id = ?",
(name, email, phone, course_id, student_id))
else:
c.execute("INSERT INTO students (name, email, phone, course_id) VALUES
(?, ?, ?, ?)",
(name, email, phone, course_id))
conn.commit()
conn.close()
def view_students():
conn = sqlite3.connect('course_management.db')
c = conn.cursor()
c.execute("SELECT * FROM students")
students = c.fetchall()
conn.close()
return students
def delete_student(student_id):
conn = sqlite3.connect('course_management.db')
c = conn.cursor()
c.execute("DELETE FROM students WHERE id = ?", (student_id,))
conn.commit()
conn.close()
# Streamlit app
st.title("Online Course Management System")
# Display CRUD options based on the selected user type - On the right side
if user_type == "Student":
# st.write( "Student operations: Update profile, View courses, Join a course,
Leave a course")