![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 2.02.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam serwis dotyczacy zapisów studentów na specjalizacje. Mam 2 tabele: zapisy_na_specjalizacje z kolumnami: Id_zapisu_specjalizacja<PK>, Id_specjalizacja<FK>, Id_student<FK>, Data_zapisu_specjalizacja oraz Specjalizacje z kolumnami: Id_specjalizacja<PK>, Nazwa_specjalizacji, Liczba_miejsc, Student logując się na serwis wybiera z listy rozwijanej specjalizację. Chodzi o to, że ilość miejsc na każdej specjalizacji jest ograniczona, więc trzeba zrobić coś takiego jak zliczanie dla każdego przedmiotu ile osób sie juz na niego zapisało i porównanie tych wyników z Liczba_miejsc. Jeżeli ilość zapisanych studentów jest mniejsza od liczby miejsc dostępnych to specjalizacja sie wyświetla na liście rozwijanej, a jeżeli liczba studentów zapisanych na specjalizacje jest równa Liczba_miejsc to specjalizacja nie wyświetla sie w liście rozwijanej. Niby proste ale próbowałem już kilkoma sposobami i coś mi nie wychodzi. Poniżej przedstawiam kod formularza do zapisów:
Z góry dzięki za podpowiedzi |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 896 Pomógł: 76 Dołączył: 15.11.2003 Skąd: Sosnowiec/Kraków Ostrzeżenie: (0%) ![]() ![]() |
Można np. tak, ale nie testowałem tego więc Ty to zrób.
Poza tym pewnie jest jakieś fajne pojedyńcze zapytanie SQL które załatwia sprawę ale ja go nie znam.
Btw. tablic $HTTP_SESSION_VARS itp. używali nasi pradziadowie, możesz po prostu $_SESSION chyba że masz jakieś stare PHP, ale wtedy raczej zmień PHP. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Użyj po prostu w zapytaniu GROUP BY - jest to na tyle proste, że chyba nie muszę dodawać przykładu praktycznego? Ale dam:
- zwróci login - liczba postów. Dobra, dam gotowca: - nazwy tabel i pól napisałem inne, dostosuj do swoich potrzeb. W wyniku powinna być lista specjalizacji, na które są miejsca + % obłożenia Ten post edytował Pilsener 25.11.2008, 09:06:31 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 01:49 |