Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wielokrotny INSERT
Forum PHP.pl > Forum > Bazy danych > MySQL
Azek
Witam, mam tabelę Nieobecności w MySql:
IDNieobecnosci(int), Data(date), Kto (int)
Pracownicy mogą zaznaczać, kiedy będą nieobecni. Oczywiście można zaznaczyć więcej niż jeden dzień, np 2017-08-09 do 2017-08-20. Do bazy wstawia następująco
  1. INSERT INTO `tbNieobecnosci` (`Data`, `Kto`) VALUES ('2017-08-09, '1'),('2017-08-10', '1'),...('2017-08-20', '1');

Chciałbym ominąć generowanie tego całego ciągu przez PHP, bo musiałbym wtedy porównywać daty, albo liczyć różnicę dni.
W związku z tym pytanie: czy można tę pracę przerzucić na SQL? I jeśli tak, to w jaki sposób?
Pyton_000
A nie prościej jest robić przedziały? W sensie do BD zapisujesz przedziały od-do i to sobie potem obrabiać.
Azek
Myślałem o tym. Gorzej z obróbką do wyświetlenia. Ma być coś takiego:
Kod
----------KALENDARZ----------
|   |   |   |1  |2  |3  |4  |
|   |   |   |   |   |   |   |
-----------------------------
|5  |6  |7  |8  |9  |10 |11 |
|   |   |   |   |   |C  |C  |
-----------------------------
|12 |13 |14 |15 |16 |17 |18 |
|B  |B  |A,B|A,B|A  |A  |A  |
-----------------------------
|19 |20 |21 |22 |23 |24 |25 |
|A  |A  |   |C  |   |   |   |
-----------------------------
|26 |27 |28 |29 |30 |31 |   |
|   |   |   |C  |   |   |   |
-----------------------------

Pod każdą datą ma być imię pracownika, który w ten dzień jest nieobecny. Jeszcze jak do tego dodamy, że urlopy różnych osób mogą się nakładać, to robi się ciężko. Skorzystałem z http://nospor.pl/grupowanie-wynikow.html i całkiem fajnie działa. Nie mam pojęcia jak trzeba by obrabiać przedziały.
Pyton_000
Ale jaki problem? Pobierasz zakres dat i w pętli sprawdzasz tylko czy data zawiera się w pobranym przedziale. Ja tam nie widzę problemu wink.gif Ba, nawet łatwiejsze jest to do obróbki bo możesz rózne rzeczy z tym robić, a mając każdą datę oddzielnie musisz to jeszcze obrabiać.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.