Spaces:
No application file
No application file
| import sqlite3 | |
| import pandas as pd | |
| from datetime import datetime | |
| def init_database(): | |
| conn = sqlite3.connect('school_data.db') | |
| cursor = conn.cursor() | |
| # Students Table | |
| cursor.execute(''' | |
| CREATE TABLE IF NOT EXISTS students ( | |
| id INTEGER PRIMARY KEY AUTOINCREMENT, | |
| name TEXT NOT NULL, | |
| grade TEXT NOT NULL, | |
| roll_no INTEGER, | |
| parent_name TEXT, | |
| parent_phone TEXT, | |
| address TEXT, | |
| created_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP | |
| ) | |
| ''') | |
| # Teachers Table | |
| cursor.execute(''' | |
| CREATE TABLE IF NOT EXISTS teachers ( | |
| id INTEGER PRIMARY KEY AUTOINCREMENT, | |
| name TEXT NOT NULL, | |
| subject TEXT, | |
| qualifications TEXT, | |
| phone TEXT, | |
| email TEXT, | |
| created_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP | |
| ) | |
| ''') | |
| # Attendance Table | |
| cursor.execute(''' | |
| CREATE TABLE IF NOT EXISTS attendance ( | |
| id INTEGER PRIMARY KEY AUTOINCREMENT, | |
| student_id INTEGER, | |
| date DATE, | |
| status TEXT, | |
| remarks TEXT, | |
| FOREIGN KEY (student_id) REFERENCES students (id) | |
| ) | |
| ''') | |
| # Marks Table | |
| cursor.execute(''' | |
| CREATE TABLE IF NOT EXISTS marks ( | |
| id INTEGER PRIMARY KEY AUTOINCREMENT, | |
| student_id INTEGER, | |
| subject TEXT, | |
| exam_type TEXT, | |
| marks REAL, | |
| total_marks REAL, | |
| grade TEXT, | |
| entered_on TIMESTAMP, | |
| FOREIGN KEY (student_id) REFERENCES students (id) | |
| ) | |
| ''') | |
| # Users Table for Login | |
| cursor.execute(''' | |
| CREATE TABLE IF NOT EXISTS users ( | |
| id INTEGER PRIMARY KEY AUTOINCREMENT, | |
| username TEXT UNIQUE, | |
| password TEXT, | |
| user_type TEXT, | |
| student_id INTEGER, | |
| teacher_id INTEGER, | |
| FOREIGN KEY (student_id) REFERENCES students (id), | |
| FOREIGN KEY (teacher_id) REFERENCES teachers (id) | |
| ) | |
| ''') | |
| conn.commit() | |
| conn.close() | |
| def add_student(name, grade, roll_no, parent_name, parent_phone, address): | |
| conn = sqlite3.connect('school_data.db') | |
| cursor = conn.cursor() | |
| cursor.execute(''' | |
| INSERT INTO students (name, grade, roll_no, parent_name, parent_phone, address) | |
| VALUES (?, ?, ?, ?, ?, ?) | |
| ''', (name, grade, roll_no, parent_name, parent_phone, address)) | |
| student_id = cursor.lastrowid | |
| conn.commit() | |
| conn.close() | |
| return f"✅ विद्यार्थी नोंदणी झाली! ID: {student_id}" |