Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] Zadania do wykonania, Czyli jak zrobić angielskie To DO
redelek
post
Post #1





Grupa: Zarejestrowani
Postów: 658
Pomógł: 37
Dołączył: 4.06.2005
Skąd: Wawa

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


Witam,

Potrzebuję zrobić na swojej stronce takie zadania z terminami wykonania prac. Narazie przymierzam się do tego i mam kilka pytań.

Tak będzie wyglądała tabela

  1. CREATE TABLE `zadania` (
  2. `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `login` varchar(15) collate utf8_polish_ci DEFAULT NULL,
  4. `tytul` varchar(50) collate utf8_polish_ci DEFAULT NULL,
  5. `opis` text collate utf8_polish_ci,
  6. `data_rozpoczecia` datetime NOT NULL,
  7. `data_zakonczenia` datetime NOT NULL,
  8. `status` int(10) UNSIGNED DEFAULT NULL,
  9. PRIMARY KEY (`id`)
  10. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci;


Teraz mam kilka pytań,

1. W polach data_rozpoczecia mam zapisywaną datę i godzinę czy nie lepiej to oddzielnie zapisać ? Chodzi o późniejsze porównywanie i wykonywanie odpowiedniego kodu.
2. Czy skrypt który to będzie sprawdzał umieścić w CRON czy raczej na bieżąco po wczytaniu strony to ustawiać
3. Czy pole status z cyframi 1 - rozpoczęte 2 - wykonane 3 - po terminie to dobry pomysł czy coś innego byście sugerowali?
4. czym porównywać daty i godziny? Date czy microtime - co będzie dokładniejsze?

Będę bardzo zobowiązany za kilka słów lub propozycji na moje pytania.

Dzięki
Redelek
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
vokiel
post
Post #2





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


  1. Datę lepiej zapisywać razem z godziną. Dla późniejszego porównywania i wykonywania kodu nie będzie to stanowiło problemu.
  2. Zależy co ten skrypt ma sprawdzać. Jeśli tylko pobierać liste ToDo, to przy wczytaniu strony, zwykły select, cron tu nie jest w ogóle potrzebny.
  3. Status mozesz zapisac jako liczby z zakresu 0-10 odpowiadające procentowemu wykonaniu zadania. Wtedy jesli 0 - rozpoczete, 10 - zakonczone, a wartosci pomiedzy to w trakcie, wykonane w x%.
  4. Typ danych w bazie danych timestap albo datetime. Jesli bedziesz mial timestap to mozesz ustawic domyslna wartosc na aktualna godzine (DEFAULT CURRENT_TIMESTAMP). Zalezy co chcesz porownywac. Jesli chcesz liczyc ile czasu trwalo zadanie to zrobisz to w samym select w sql, po prostu odejmiesz dwie daty. Jesli chcesz liczyc ile czasu zostalo na wykonanie zadania, to tez odejmujesz daty (data_zakonczenia - now()) i tez sql (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Na poczatku określ dobrze funkcjonalności, które chcesz aby ten system miał. Wtedy jest łatwiej tworzyć strukturę bazy.

Pozdrawiam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
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: 2.10.2025 - 20:39