Создание и вывод динамических таблиц

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Soffeso
Сообщения: 1
Зарегистрирован: 2020.11.15, 14:39

Создание и вывод динамических таблиц

Сообщение Soffeso »

Доброго времени суток. Делаю курсовую работу и столкнулся с такой задачей:
У нас есть в БД: Студенты, Группы и Предметы. И нужно, чтобы при выборе группы и предмета выводилась таблица:
Изображение
Причем, таблица должна быть редактируемой, т.е. если щелкнуть по соответствующей ячейке, то ее можно редактировать и сохранять данные (в моем случае - оценки). Тут, я думаю, с помощью DataTable Editor, я разберусь. Но я совсем не понимаю как создавать и выводить данные таблицы. К тому же их будет много ( 1 таблица только на 1 семестр для 1-й группы 1-го предмета). Я понимаю, что это неоптимальное решение, но я не знаю, как можно сделать по-другому.
Мои идеи были в том, что:
1) Как показано на скриншоте - выбираешь предмет, выбираешь группу и происходит проверка: если таблица создана, то она отображается, если нет, то создается с названием: IDпредмета_НомерГруппы_ГодОбучения (пример: 1_1212_2020 или 112122020)
2) Ручками, с помощью миграций создавать таблицы. (Но, на мой взгляд, это абсурд)

Но даже если и 1-ый вариант реализовать, то не совсем понятно как выводить. Ведь для вывода данных нужна соответствующая модель, а это, опять же, делается руками.

Пожалуйста, поставьте на путь истинный, может выбрать другой фреймворк, более подходящий для этой задачи или вовсе без них обойтись. Или хранить данные в файлах (json, xml или др.), но в этом случае опыта не имею. В голове, просто, уже каша и уже не первую неделю с этой задачей мучаюсь. С советом обратиться совсем не к кому.

P.S. Куратор говорит "Делай хоть как-нибудь, главное, чтобы работало"
Аватара пользователя
proctoleha
Сообщения: 298
Зарегистрирован: 2016.07.10, 19:00

Re: Создание и вывод динамических таблиц

Сообщение proctoleha »

Попробуйте мыслить не категориями таблицы, а сущностями.

1. Есть сущность студенты. Можно ли организовать хранение этой сущности в БД?
2. Есть сущность учебные группы. Она каким то образом связана с сущностью Студенты? Можно ли организовать хранение этой сущности в БД?
3. Есть сущность учебные предметы ....
4. Есть сущность семестры ... Можно ли написать интерфейс и накидать этих семестров на несколько лет вперед?
5. Можно ли связать Группы, Предметы, Семестры на уровне БД опять же через какой-либо интерфейс?

И только после всего этого, когда в БД будут храниться связанные сущности, можно сформулировать след. вопрос: а можно ли написать интерфейс который свяжет Студентов, Предметы, Семестры и Оценки на уровне БД?

Ответ на все вопросы - можно, но муторно. Применительно к вашей таблице данные будут храниться в какой-либо большой связующей таблице с полями student_id, subject_id, created_at, grade ...

Еще раз: прежде чем работать с вашей таблицей, необходимо организовать хранение связанный данных в каком-либо хранилище. И только после этого создавать новые связи
Вот за что я не люблю линукс, так это за свои кривые, временами, руки
Ответить