Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Projekt bazy danych kalendarza osobistego.
Forum PHP.pl > Forum > Bazy danych > MySQL
matys88
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ę.

bpskiba
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.
matys88
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

bpskiba
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)
Crozin
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:
  1. echo new DateTime('2008-08-07 18:11:31')->format('W');
matys88
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 ?
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.