![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 61 Pomógł: 0 Dołączył: 25.08.2004 Ostrzeżenie: (0%) ![]() ![]() |
Mam takowe pytanie mamy pole w bazie które wygląda następująco:
01.09.2005|02.02.2006|12.02.2006|22.06.2006 i teraz tak pierwsze dwie daty to jakby jeden przedział a drugie dwie to kolejny przedziałów moze byc jakis 4 max i teraz chodzi o to ze jak sprawdzic czy dana data np. 05.10.2005 miesci sie w którymś z przedziałów oczywiscie jesli sie nie miesci to zwraca FALSE szukałem ale nie moglem zlaleźć odpowiedniego pomysłu będę wdzieczny za rade |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Oj, ja bym ci propnowal to jedno pole rozbić na cztery. W każdym polu bylaby jedna data. Wtedy bez żadnych kombinacji alpejskich dałoby się wyprodukować interesujące cie zapytanie
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 61 Pomógł: 0 Dołączył: 25.08.2004 Ostrzeżenie: (0%) ![]() ![]() |
tak też brałem to pod uwage ale wtedy jesli przedziałów bedzie 4 a jak bedzie nagle trzeba 5 a jak bedzie to tak to mozna spokojniej chyba ?
bardzo bym prosił o jakis pomysł przy tym rozwiązaniu no chyba że uwazacie ze naprawde lepiej bedzie zrobic np 10 pól na takie daty i tedy 5 przedziałów mozna max |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
Dodaj drugą tabelę przedziały z polami: id_pola_z_tabeli_glownej, przedzial_od, przedzial_do.
I wtedy możesz mieć dowolną ilość wpisów z przedziałami dla , np. id = 3. -------------------- "Coś się kończy, coś się zaczyna." Andrzej Sapkowski
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
To skoro liczba przedialow moze byc rożna danego rekordu to propunuję ci taką strukturę:
Cytat tabela1 --------- id - id rekordu inne dane - pozostale dane tabela2 -------- id_tabela1 - klucz obcy do tabela1 data1 - pocztek przedzialu data2 - koniec przedialu w ten sposob jesli jakis rekord z tabela1 ma miec przedzialy, to dodajesz te przedaily do tabela2 dodając równiez id z tabela1 dzieki czemu bedziesz wiedzial jaki przedzial jest do jakiego reekordu z tabela1. w ten sposób możesz dawać dowolną liczbę przedzialow edit: @kszychu byles szybszy, ale nia kasuje mojego bo jest bardziej opisany -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 61 Pomógł: 0 Dołączył: 25.08.2004 Ostrzeżenie: (0%) ![]() ![]() |
to moze od drugiej strony w tej chwili jest tak
1. tabela szkoły do której jest dopsiane jakies ID z tabeli strafa 2. w tabeili strefa sa pola ID | WOJEWÓDZTWO | DATY gdzie id z tabeli strefa jest zapisaene w kolumnie strefa w tabeli szkoły Strefy to semestry i teraz jakaś szkoła moze miec 3 semstry a inna moze miec 2 semestry i to w róznych przedziałach czasowych i po podaniu daty "dzisiejszej" chodzi o sprawdzenie czy któraś strafa jest w tym przedziale. Ew. jak waszym zdaniem to zaprojektowac efektywnie Robert ps. no jakos moja wypowiedz poszła pod wszystkimi w tym samym czasie pisalismy Ten post edytował b2n 3.08.2005, 11:25:39 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
zaprojketować tak jak mowilismy:
Cytat strefa
--------- id - id rekordu inne dane - pozostale dane daty -------- id_strefa - klucz obcy do strefa data1 - pocztek przedzialu data2 - koniec przedialu -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 61 Pomógł: 0 Dołączył: 25.08.2004 Ostrzeżenie: (0%) ![]() ![]() |
oki więc hipotetycznie zakładając że moja tabela wyglada tak jak zaporoponowales
wyciagamy np pierwszy rekod z bazy i dwie daty 1.09.2005 02.02.2006 // to jest jakis tam rekord i teraz mamy 05.10.2005 //data dzisiejsza hmm i szczerze powiem nie wiem jak to "ugrźć" i sprawdzić czy ta dziesiejsza data miesci się miedzy tą i tą ;-) Robert |
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
$today to data któa cię interesuje a tak na marginesie ja też mam na imię Robert ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 61 Pomógł: 0 Dołączył: 25.08.2004 Ostrzeżenie: (0%) ![]() ![]() |
czyli dekakto musze miec w tym wypadku 3 tabele
1. szkoły z kolumna - strafa 2. strefy i z kolmna id która odnosi sie do szkoly.strefa 3. datay i gdzie mam kolumne powiedzmy strefa które odnosi się do strefa.id to tak chyba duzo tego ? my sie wydaje Robert |
|
|
![]()
Post
#11
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
w zasadzie to tabela strewfa jest nieporzebna. Tabela daty może odwolywac sie bezposrednio do szkola. Zaraz wytsle ci info na gg to możę to dopracujemy. odbierz. w tej chwili jests nie dostewpny
edit (dla potomnych) po dlugich i zażartych dyskusjach na gg ustaliliśmy taką oto strukturę: Cytat tabela szkola ----------------- id inne dane tabela daty --------- id_szkola data_pocz data_koniec zapytanie:
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 15:22 |