[MySQL][PHP] Zapisywanie w bazie |
[MySQL][PHP] Zapisywanie w bazie |
28.01.2017, 11:40:08
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 27.01.2017 Ostrzeżenie: (0%) |
Pisze na zadanie skrypt któy ma rezerwować sale wykładowe. sam plik rezerwacji wygląda tak:
jestem całkowitym żółtodziobem w tym i w jestem w stanie zrobić tylko najprostrze "skrypty"<jeśli tak mozna to nazwać> a potrzebuję if by nie można bylo 2 raz zarezerwować sali o tej samej godzinie, tego samego dnia Czyli: jeśli sala x o godz y dnia z jest już w bazie żeby wywalało komunikat że sala jest już zajęta. znajdzie się jakaś dobra duszyczka która pomoże? |
|
|
28.01.2017, 11:50:24
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Załóż sobie na bazie klucz unique na te pola. Wtedy rekordy nie będą mogły się powtarzać. Rozszerzenie mysql jest przestarzałe, dodatkowo kod jest podatny na włam.
-------------------- |
|
|
28.01.2017, 12:24:55
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 27.01.2017 Ostrzeżenie: (0%) |
problem w tym że nie mogą być unikalne
każda sala może być rezerwowana wiele razy, w 1 dzień może być kilka rezerwacji i nawet ta sama godzina przy innych salach może być tylko 3 aspekty razem nie mogą wystąpić |
|
|
28.01.2017, 12:33:15
Post
#4
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) |
To załóż unique na wszystkie 3 pola.
|
|
|
28.01.2017, 12:33:19
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Ale zdajesz sobie sprawę że taki klucz zakładasz na grupę pól które mają być unikalne?
A jeśli godzina nie jest stała tylko zakresem można np napisać wyzwalacz before insert or update który pobierze godzinę dla sali i wyświetli błąd gdy jest zajęta. -------------------- |
|
|
28.01.2017, 12:40:07
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 27.01.2017 Ostrzeżenie: (0%) |
dokładnie tak jak pisze viking
jeśl idam unique na wszystkie 3 to sale 111 będę mógł zarezerwować tylko raz tak samo np godz 8.00 nie będę już mógł dodać kolejnego rekordu z tą godziną salą itp, a przecież nie o to chodzi |
|
|
28.01.2017, 12:46:18
Post
#7
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) |
Jesli masz unique na grupe 3 pol, to zebys nie mogl drugi raz dodac rekordu musisz wpisac we wszystkich 3 polach takie same dane jakie istnieja czyli:
Jesli masz w bazie Dzien: 1; Godzina 2; Sala 3; To mozesz dodac Dzien 1; Godzina 2; Sala 4; itd. Ale nie mozesz Dzien 1; godzina 2; sala 3; Ten post edytował kapslokk 28.01.2017, 12:46:57 |
|
|
28.01.2017, 12:49:51
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Cytat nie będę już mógł dodać kolejnego rekordu z tą godziną salą itp, a przecież nie o to chodzi Cytat Czyli: jeśli sala x o godz y dnia z jest już w bazie żeby wywalało komunikat że sala jest już zajęta. Przemyśl jeszcze raz sprawę. -------------------- |
|
|
28.01.2017, 12:54:14
Post
#9
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 27.01.2017 Ostrzeżenie: (0%) |
@kapslokk - czyli wystarczy zmienić w bazie, bez ingerencji w kod?
@viking - eh nie wiem jak to wyjaśnić prościej w formularzu wybieram sale date i godzinę dajmy na to mam 3 sale 1,2 i 3 i mogę ję rezerwować codziennie co godzinę xxx ale: jeśli w bazie sala 1 jest już zarezerwowana na dziś na godzine 12 to żeby nie dało się tej samej sali w tym momencie zarezerwować ale np na godz 13, 14 już tak |
|
|
28.01.2017, 12:57:12
Post
#10
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) |
Cytat @kapslokk - czyli wystarczy zmienić w bazie, bez ingerencji w kod? W kodzie bedzie trzeba sprawdzac czy udalo sie wykonac zapytanie, ale to juz w sumie masz. Cytat @viking - eh nie wiem jak to wyjaśnić prościej w formularzu wybieram sale date i godzinę Ja mysle, ze viking doskonale rozumie o co Ci chodzi. Nawet napisał Ci co masz zrobić |
|
|
28.01.2017, 13:04:53
Post
#11
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 27.01.2017 Ostrzeżenie: (0%) |
W kodzie bedzie trzeba sprawdzac czy udalo sie wykonac zapytanie, ale to juz w sumie masz. Ja mysle, ze viking doskonale rozumie o co Ci chodzi. Nawet napisał Ci co masz zrobić a jak dodać unique na te 3 pola razem? bo jeśli to normalnie zrobię to obawiam się, że będzie działało jak id |
|
|
28.01.2017, 13:09:49
Post
#12
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) |
|
|
|
Wersja Lo-Fi | Aktualny czas: 11.05.2024 - 16:27 |