Witam - pierwszy raz tutaj na forum, potrzebna jest mi pomoc, której na razie nie uzyskałem na uczelni, dlatego pytanie owo kieruję do Państwa.
Otóż moim zadaniem jest stworzenie projektu, którego rolą będzie przechowywanie i wyświetlanie ocen zaliczeniowych studentów. Sprawa jest na tyle skomplikowana, iż jest to uczelnia, a system docelowo ma działać na wszyskich jej wydziałach. Można się więc domyśleć jak wiele danych jest do przeanalizowania i przekazania w odpowiedni sposób.
Na poniższym zdjęciu prezentuje aktualny schemat najważniejszych tabel z bazy danych:
Schemat tabeli
Moją tabelą jest tabela PASSES, która na tą chwilę wygląda jak wygląda. Być może mógł bym ją przebudować tak, aby zawierała w sobie o wielem niej danych, jednakże na razie wszystko uzależnione jest od tego, czy dane, które chcę wyświelić są w ogóle możliwe do wyświetlenia w sensowny sposób.
Cały system opiera się oczywiście na języku PHP oraz - niestety - AJAXie, który za pomocą biblioteki JQUERY obsługuje wszystkie zapytania, komunikacje z bazą, etc.
Aktualnie priorytetową sprawą dla mnie jest odpowiedź na pytanie:
1. Docelowo chciał bym, aby nauczyciel po zalogowaniu do systemu dostawał listę wszystkich studentów, z którymi prowadzi zajęcia. Czy jest to możliwe, na podstawie widocznych tabel? Nasz system działa na zasadzie tabeli, której każda kolumna może być sortowana na podstawie zawartej w niej rekordów (przykładowo jeżeli kolumna WYDZIAŁ ma rekordy WYDZIAL1, WYDZIAL2, WYDZIAL3, z listy rozwijanej nad tą kolumną mogę wybrać wyświetlanie danych tylko z wybranego wydziału) - dlatego też myślałem, żeby wyświetlać listę studentów i na jej podstawie prowadzący będzie wybierał interesujące go przedmioty do oceny.
2. Jeżeli powyższe jest możliwe - w jaki sposób, do owej listy wszystkich studentów z danego przedmiotu przyczepić tabelę PASSES (pass, pass_date, comments), jeżeli aktualnie owa tabela jest pusta? Próbowałem używać poleceń FULL JOIN, UNION, ale nie przynosiły one odpowiedniego efektu.
3. Jeżeli dwa powyższe są możliwe do wykonania, ostatnia sprawa to zapisanie wszystkich danych do tabeli PASSES. Może pokażę jak wygląda obsługa wyświetlania wybranych danych w systemie:
Wyświetlanie
Jak widać zaznaczyłem nazwę zajęć (w wyświetlaniu jest połączenie z tabel przedmioty, specjalizacja, kierunek i typ studiów), po kliknięciu w dropdowna wyświelta się lista dostępnych przedmiotów. Po kliknięciu OK odpowiednie ID jest wysyłane do tabeli CLASSES, z której pochodzi to zdjęcie. Po kliknięciu PORZUĆ dane nie są zapisywane. Pola mogą być również edytowane tekstowo, gdzie po kliknięciu w nazwę wyświetla się pole tekstowe, które można zedytować i zapisać wpisaną wartość do bazy w odpowiednim miejscu.
Moim zdaniem tabela PASSES na pewno musi mieć jakieś zewnętrzne ID, być może wystarczyło by tylko odniesienie do tabeli CLASSES?
I oczywiście to nie jest tak, że dane w tabeli są wprowazdzone na stałe i nikt ich nie edytuje. Niestety ten system doskonały nie jest i trzeba go co semestr czy co roku aktualizować aby posiadał aktualne dane.
Ja już wykonałem moduł dodawania ocen w formularzu, gdzie wybiera się te wszystkie dane - ale patrząć ze strony wykładowcy, który na pierwszym roku ma dodać oceny 150 studentom przez formularz każdemu z osobna - nie jest to ani wygodne, ani przyjemne rozwiązanie. Chyba że dało by się zrobić formularz, który dodaje wybrane wpisy wszystkim pasującym studentom? Bo już w tym momencie mam taki formularz, rzeczywiście wyświetla mi wszystkich studentów dla wybranych danych w liście rozwijanej.
Proszę o rady :)