Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Pytanie o okresy (zbiory)
8_pasarzer_NOSTR...
post
Post #1





Grupa: Zarejestrowani
Postów: 109
Pomógł: 0
Dołączył: 5.11.2009

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


Witam

Od kilku dni mam zaćmę umysłową i nie potrafię zrobić prostej rzeczy, a mianowicie:

Mam bazę danych :

nazwisko | od | do
kowalski 2011-03-03 2011-03-06
nowak 2011-03-06 2011-03-16

Mam formularz w którym wybieramy dwie daty (okres od - do). Interesuje mnie pytanie, które ustali mi kto w wybranym przez formularz okresie był na zwolnieniu. Np. jeśli wybiore od 1.03-20.03 to byli oboje a jeśli np. od 4.03 do 5.03 to był tylko kowalski. A z kolei od 4.03 do 07.03 to też byli oboje.

No kombinowałem już na 20 sposobów i za grzyba nie idzie. albo wyskakuje jeden albo drugi albo oboje, ale zawsze jest błąd gdy zbiory dat się pokrywają. Sprawa jest banalna ale nie daje rady.
Ogólnie stosowałem w pytaniu warunek
  1. where (od<='$_od' && do>='$_do')

w różnych konfiguracjach, ale zawsze gdzieś źle pokazał. Pomocy, lub choć wskazówkę

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Valdi_B
post
Post #2





Grupa: Zarejestrowani
Postów: 107
Pomógł: 30
Dołączył: 19.02.2011
Skąd: Warszawa

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


Doprecyzuj określenie "kto w wybranym przez formularz okresie był na zwolnieniu".
Możliwość 1: Kto przez cały podany okres był na zwolnieniu.
Możliwość 2: Kto w dowolnym dniu podanego okresu był na zwolnieniu.

Skoro piszesz "od 4.03 do 07.03 to też byli oboje" a Nowak był na zwolnieniu od 6.03, to raczej wariant 2, ale chciałbym się upewnić.

Rozwiązanie Kefirka wyciągnie tylko tych, którzy "w żadną stronę nie wystawiali" poza podany okres.

Rozwiązanie Wojtka_B (wygląda na dobre) obejmuje 3 możliwości:
- od <= $_od AND do >= $_do - tych którzy "wzięli okrakiem" podany okres (zaczęli wcześniej lub w dniu pocz., a skończyli później lub w dniu końcowym)
- od BETWEEN $_od AND $_do - zaczęli w podanym okresie (koniec - nieważny),
- do BETWEEN $_od AND $_do - skończyli w podanym okresie (początek - nieważny).


Ten post edytował Valdi_B 8.03.2011, 11:13:23
Go to the top of the page
+Quote Post

Posty w temacie


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: 10.10.2025 - 01:31