Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Nie dodawanie rekordów jeżeli kilka się powtarzają
lmp2
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 18.11.2012

Ostrzeżenie: (0%)
-----


Witam,

mam problem i nie wiem jak do niego podejść.
Jest tablica i np są kolumny o nazwie: nauczyciel, sala i data(dzień i godzina).
Nie chce aby rekordy dodawały się jeżeli dany nauczyciel ma już zajęcia o tej godzinie, albo sala jest zajęta.

Będę wdzięczny za każdą sugestię.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
mmmmmmm
post
Post #2





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----


Dwa klucze unikalne:
nauczyciel + godzina
godzina + sala
Go to the top of the page
+Quote Post
lmp2
post
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 18.11.2012

Ostrzeżenie: (0%)
-----


Dzięki już wpadłem na inny pomysł, ale mam kolejny problem.
Chodzi mi o przedział czasowy, że godziny danego nauczyciela nie mogą się krzyżować.
Godziny mam w kolumnach start i stop w formacie H:i:s
Go to the top of the page
+Quote Post
patrycjaBS
post
Post #4





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 25.11.2012
Skąd: Pszczyna

Ostrzeżenie: (0%)
-----


@mmmmmmm podał chyba najbardziej optymalne rozwiązanie Twojego pierwszego problemu... na jaki inny pomysl wpadles, jezeli moge zapytac?

co do tego:
Cytat
Chodzi mi o przedział czasowy, że godziny danego nauczyciela nie mogą się krzyżować.
Godziny mam w kolumnach start i stop w formacie H:i:s


prawdopodobnie musisz przed dodaniem sprawdzić zapytaniem ten warunek.
np.

  1. SELECT id FROM tabela WHERE nauczyciel=ID_NAUCZYCIELA AND (WARUNEK1 OR WARUNEK2 OR WARUNEK3 OR WARUNEK4)


przy czym WARUNEK1 to: start>START_DO_WPISANIA AND stop>STOP_DO_WPISANIA
itd. najlepiej rozrysuj sobie to na osi. są 4 takie warunki.

założenie jest oczywiście takie, że sprawdzasz sobie wcześniej, że stop>start

rozwiązanie nie jest szczególnie oszczędne w czas i pamięć, ale rozumiem, że nie będzie to system, który non stop dodaje te godziny, tylko zrobi to generator raz na pół roku, ewentualnie raz na miesiąc.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 06:44