![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 2.05.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
potrzebuję pomocy przy zaprojektowaniu bazy danych do kalendarza. Chciałbym zrobić to jak najlepiej, gdyż dobrze zaprojektowana baza danych to duży klucz do sukcesu, więc podaje jak najwięcej informacji : - kalendarz musi mieć numerowanie tygodni. - informacja o tygodniach parzystych i nie parzystych - wydarzenia przypisane do konkretnego dnia, albo trwające przez kilka dni. Myślałem aby stworzyć tabele event z id , nazwą wydarzenia i datą. schody zaczynają się teraz, gdy mam dobrać bazę pod taki kalendarz. Stworzyć tabele miesiące z nazwami miesięcy, tabele tygodnie z ilością tygodni i tabele dzień z nazwami dni ? tylko czy taki sposób jest poprawny i czy nie będzie stanowił jakiegoś dużego problemu z późniejszym wyciąganiem danych przez php. Mam nadzieję, że ktoś mi pomoże. Z góry dziękuję. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 340 Pomógł: 49 Dołączył: 3.07.2009 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
Możesz tak zrobić i nie będzie to błędem.
Przemyśl natomiast, czy nie prościej będzie napisać parę funkcji w php. Wtedy w bazie można trzymać jedynie datę i obrabiać ją na etapie prezentacji. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 2.05.2013 Ostrzeżenie: (0%) ![]() ![]() |
Czyli obrabiając dane przez php będzie prościej niż tworzenie tylu tabel.
Właśnie o to chodzi, żeby sobie nie komplikować za bardzo sprawy. Jeszcze jedno pytanie. Aby móc później wyświetlać numery tygodni i informacje o tym czy tydzień jest parzysty czy nie, muszę stworzyć tabele tygodnie(id_tygodnia, wartość(parzysty, nieparzysty) i połączyć to z tabelą event(id_wydarzenia, nazwa, data) ? Czy wystarczy mi tylko jedna tabela event(id_wydarzenia, nazwa, data) z której da się później za pomocą php wyciągnąć wszystkie dane które mnie interesują. Chciałbym aby kalendarz wyglądał jak ten: http://fotografiadlaciekawych.pl/wp-conten...11-12mcy-v4.gif . Z tą różnicą, że pod numerami są wypisane eventy a z lewej strony dodatkowa kolumna z numerami tygodni. Wspominam, o wyglądzie, gdyż moje rozwiązanie może nie być praktyczne, bądź trudne do zrealizowania, a bardziej doświadczonej osobie może to trochę pomóc. Pozdrawiam |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 340 Pomógł: 49 Dołączył: 3.07.2009 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
http://php.net/manual/pl/function.date.php
Zwraca numer tygodnia w roku i wiele porametrów, których potrzebujesz. Będziesz potrzebował w bazie tabeli "święta", gdyż w php mie ma funkcji wielkanoc(2013) Ten post edytował bpskiba 3.05.2013, 13:42:34 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
1. Każde wydarzenie powinno widnieć jako osobny obiekt w bazie danych posiadające datę rozpoczęcia i zakończenia. Dotyczy to również wydarzeń cyklicznych (cotygodniowych, corocznych itp.) - tutaj również każde powtórzenie wydarzenia powinno widnieć jako osobny obiekt w bazie. Ta tabela będzie dla Ciebie podstawą przy wykonywaniu zdecydowanej większości operacji związanych z wyświetlaniem, tworzeniem oraz przeszukiwaniem kalendarza.
2. Wyświetlanie numeru tygodnia dla danej daty jest dziecinnie proste: |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 2.05.2013 Ostrzeżenie: (0%) ![]() ![]() |
1. Pytanie odnośnie daty rozpoczęcia i zakończenia danego wydarzenia. Stworzyć osobną tabele data (id_daty, data_rozpoczecia, data_zakonczenia) Czy wszystkie dane trzymać w jednej tabeli event ? Który sposób jest bardziej praktyczny?
2. 2 sprawa czy jest jakaś funkcja, dzięki której mógłbym sobie ustawić ,że pierwszym miesiącem nie jest styczeń a np. marzec i od niego zaczyna się numerowanie tygodni i miesięcy ? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 12:24 |