-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup.php
More file actions
144 lines (127 loc) · 6.63 KB
/
setup.php
File metadata and controls
144 lines (127 loc) · 6.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
<?php
// Запустив этот файл по запроу /eduwork.local/setup.php вы создатите базу данных( не забудьте указать имя бд в config.php)
include 'config.php';
try {
$sql = "CREATE TABLE IF NOT EXISTS users (
id SERIAL PRIMARY KEY,
username TEXT NOT NULL UNIQUE,
password TEXT NOT NULL,
role TEXT NOT NULL
)";
$conn->exec($sql);
echo "Таблица users создана успешно.<br>";
//admin
$stmt = $conn->prepare("SELECT COUNT(*) FROM users WHERE username = 'admin'");
$stmt->execute();
if ($stmt->fetchColumn() == 0) {
$admin_password = password_hash('admin', PASSWORD_DEFAULT);
$sql = "INSERT INTO users (username, password, role) VALUES ('admin', '$admin_password', 'admin')";
$conn->exec($sql);
echo "Администратор добавлен успешно.<br>";
}
//teacher
$stmt = $conn->prepare("SELECT COUNT(*) FROM users WHERE username = 'teacher'");
$stmt->execute();
if ($stmt->fetchColumn() == 0) {
$teacher_password = password_hash('teacher', PASSWORD_DEFAULT);
$sql = "INSERT INTO users (username, password, role) VALUES ('teacher', '$teacher_password', 'teacher')";
$conn->exec($sql);
echo "Преподаватель добавлен успешно.<br>";
}
$sql = "CREATE TABLE IF NOT EXISTS students (
id SERIAL PRIMARY KEY ,
last_name TEXT NOT NULL,
first_name TEXT NOT NULL,
middle_name TEXT NOT NULL,
birth_date TEXT NOT NULL,
gender TEXT NOT NULL,
address TEXT NOT NULL,
phone TEXT NOT NULL,
email TEXT NOT NULL,
group_number TEXT NOT NULL,
enrollment_date TEXT NOT NULL,
graduation_date TEXT NOT NULL,
role TEXT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)";
$conn->exec($sql);
echo "Таблица students создана успешно.<br>";
$sql = "CREATE TABLE IF NOT EXISTS teachers (
id SERIAL PRIMARY KEY ,
last_name TEXT NOT NULL,
first_name TEXT NOT NULL,
middle_name TEXT NOT NULL,
birth_date TEXT NOT NULL,
gender TEXT NOT NULL,
address TEXT NOT NULL,
phone TEXT NOT NULL,
email TEXT NOT NULL,
employment_date TEXT NOT NULL,
position TEXT NOT NULL,
role TEXT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)";
$conn->exec($sql);
echo "Таблица teachers создана успешно.<br>";
$sql = "CREATE TABLE IF NOT EXISTS groups (
id SERIAL PRIMARY KEY ,
number_group TEXT NOT NULL,
number_students TEXT NOT NULL,
enrollment_year TEXT NOT NULL,
graduation_year TEXT NOT NULL,
classroom_teacher TEXT NOT NULL,
role TEXT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)";
$conn->exec($sql);
echo "Таблица groups создана успешно.<br>";
$sql = "CREATE TABLE IF NOT EXISTS uploads (
id SERIAL PRIMARY KEY,
file_name TEXT NOT NULL,
file_description TEXT NOT NULL,
file_path TEXT NOT NULL,
theme TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)";
$conn->exec($sql);
echo "Таблица uploads создана успешно.<br>";
$sql = "CREATE TABLE IF NOT EXISTS news (
id SERIAL PRIMARY KEY,
name TEXT NOT NULL,
description TEXT NOT NULL,
full_description TEXT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)";
$conn->exec($sql);
echo "Таблица news создана успешно.<br>";
// Добавление значений в таблицы
$sql = "INSERT INTO students (last_name, first_name, middle_name, birth_date, gender, address, phone, email, group_number, enrollment_date, graduation_date, role)
VALUES ('Иванов', 'Иван', 'Иванович', '1995-05-15', 'М', 'ул. Ленина, д.10', '+79123456789', 'ivanov@mail.com', 'IT-101', '2020-09-01', '2024-06-30', 'student'),
('Петров', 'Петр', 'Петрович', '1996-03-20', 'М', 'ул. Пушкина, д.5', '+79234567890', 'petrov@mail.com', 'IT-102', '2021-09-01', '2025-06-30', 'student')";
$conn->exec($sql);
echo "Студенты добавлены успешно в таблицу students.<br>";
$sql = "INSERT INTO teachers (last_name, first_name, middle_name, birth_date, gender, address, phone, email, employment_date, position, role)
VALUES ('Сидоров', 'Сидор', 'Сидорович', '1980-12-10', 'М', 'ул. Лесная, д.15', '+79345678901', 'sidorov@mail.com', '2005-09-01', 'Профессор', 'teacher'),
('Иванова', 'Мария', 'Ивановна', '1985-07-25', 'Ж', 'ул. Маяковского, д.20', '+79456789012', 'ivanova@mail.com', '2010-08-01', 'Доцент', 'teacher')";
$conn->exec($sql);
echo "Преподаватели добавлены успешно в таблицу teachers.<br>";
$sql = "INSERT INTO groups (number_group, number_students, enrollment_year, graduation_year, classroom_teacher, role)
VALUES ('IT-101', '30', '2020', '2024', 'Сидоров', 'group'),
('IT-102', '25', '2021', '2025', 'Иванова', 'group')";
$conn->exec($sql);
echo "Группы добавлены успешно в таблицу groups.<br>";
$sql = "INSERT INTO uploads (file_name, file_description, file_path, theme)
VALUES ('Презентация1', 'Презентация для занятия', '/uploads/presentation1.pptx', 'Обучение'),
('Решения задач', 'Методички для студентов', '/uploads/exercises.pdf', 'Практика')";
$conn->exec($sql);
echo "Файлы добавлены успешно в таблицу uploads.<br>";
$sql = "INSERT INTO news (name, description, full_description)
VALUES ('Новость 1', 'Важное объявление', 'Уважаемые студенты! Важное событие состоится в следующий четверг.'),
('Новость 2', 'Информация о событии', 'Дорогие преподаватели! Напоминаем, что встреча планируется на понедельник.')";
$conn->exec($sql);
echo "Новости добавлены успешно в таблицу news.<br>";
} catch (PDOException $e) {
echo "Ошибка: " . $e->getMessage();
}
$conn = null;
?>