Zadejte hledaný výraz...

Vypsání všech datumů v roce + uložení do DB

James_Scott
verified
rating uzivatele
(7 hodnocení)
3. 1. 2011 23:19:49
Ahojte, mám za ůkol do školy naprogramovat aplikaci na jednoduchou evidenci docházky. Registraci, přihlášení,a vše co se týče uživatelů mám, jen bych potřeboval nakopnout jak vypsat všechny datumy, a společně s ID uživatele a odpracovanými hodinami uložit do MySQL.
Předem díky za tipy.
3. 1. 2011 23:19:49
https://webtrh.cz/diskuse/vypsani-vsech-datumu-v-roce-ulozeni-do-db#reply596255
hm
verified
rating uzivatele
(20 hodnocení)
3. 1. 2011 23:22:44
uved prosim co ze to vlastne delas protoze mam takovy pocit ze jsi vymyslel nejake spatne reseni (pokud to dobre chapu tak je zarucene spatne)
3. 1. 2011 23:22:44
https://webtrh.cz/diskuse/vypsani-vsech-datumu-v-roce-ulozeni-do-db#reply596254
netos
verified
rating uzivatele
(32 hodnocení)
3. 1. 2011 23:27:22
To chce skutecne blizsi zadani. Takto napsane to lze chapat ruzne.
3. 1. 2011 23:27:22
https://webtrh.cz/diskuse/vypsani-vsech-datumu-v-roce-ulozeni-do-db#reply596253
James_Scott
verified
rating uzivatele
(7 hodnocení)
3. 1. 2011 23:28:23
Potrebuji vytvorit evidenci docházky. Uzivatel se prihlasi do aplikace,vybere si datum a k tomu napise ze byl v praci treba 8 hodin a stiskne tlacitko ulozit. Problem je,ze nevim jak to provest. Jestli musim v DB vytvorit tabulku, ktera by obsahovala vsechny dny v roce,nebo jak? :)) Jestli zapisovat datum do DB jako Date,datetime,nebo jako text? Aspon trosku nasmerovat bych potreboval..
---------- Příspěvek doplněn 04.01.2011 v 00:11 ----------
Jestli je to jeste stale nejasne,tak se zkuste nejak zeptat,ted me nenapada jak bych to vice rozepsal :(
3. 1. 2011 23:28:23
https://webtrh.cz/diskuse/vypsani-vsech-datumu-v-roce-ulozeni-do-db#reply596252
MAHI
verified
rating uzivatele
(15 hodnocení)
4. 1. 2011 00:32:50
Jak už tady bylo řečeno, tvoje řešení (respektive přístup) je špatně.
Můžeš si vytvořit tabulku dochazka
Záznam (tzn. jedna "jednotka" docházky) v databázi bude obsahovat ID uživatele, datum (DATE), čas příchodu a čas odchodu (třeba jako TIME). Indexovat to budeš podle datumu a ID uživatele.
Vedle toho budeš mít ještě jednu tabulku uzivatele, ve které bude ID uživatele, jeho jméno a případně další údaje.
S tímhle řešením sice budou všechny "jednotky" docházky v jedné tabulce, to není ale žádná tragédie (víc info najdeš kdekoliv pod heslem "binární vyhledávací stromy").
Neříkám, že je to nejlepší, rozhodně je to ale chytřejší, než do databáze ukládat všechny dny v roce. Co když by to mělo fungovat v roce 2037, kolik dní bude mít únor, je to přestupný rok? Nehledě na to, že by se vytvořila hromada zbytečných dat do databáze.
4. 1. 2011 00:32:50
https://webtrh.cz/diskuse/vypsani-vsech-datumu-v-roce-ulozeni-do-db#reply596251
tomik1313
verified
rating uzivatele
(2 hodnocení)
4. 1. 2011 06:49:10
marcus33cz to napisal velmi dobre a osobne s nim suhlasim. Len nechapem vetu: "S tímhle řešením sice budou všechny "jednotky" docházky v jedné tabulce..." osobne by som to robil rovnako a vyhladavanie sa urychli prave zaindexovanim ID a datumu. Kedze nemyslim, ze by slo o mnoho zaznamov (v tejto aplikacii radovo 100 000), tak to nema chybu. Osobne pouzivam tabulky v MySQL radovo 5-10 mil. zaznamov a chodi to este stale svizne.
Len by som mozno este pridal aj stlpec napr. "trvanie" ako rozdiel medzi prichodom a odchodom - potom sa bude lahsie pracovat s trvanim dochadzky - suma na mesiac, rok, podla osoby, triedy, odboru,...
4. 1. 2011 06:49:10
https://webtrh.cz/diskuse/vypsani-vsech-datumu-v-roce-ulozeni-do-db#reply596250
Ondra Kněžour
verified
rating uzivatele
4. 1. 2011 08:45:44
Dva postřehy - sloupec TRVANI jak radi tomik1313 bych nepřidával, duplikuje to data, ktera už v databázi jsou, buď si ho spočítat při SELECTu nebo lépe dát ho tam jako VIEW, ať se s tím databáze popere sama, záleží na tom, co daná databáze umí. Na druhou stranu záleží na následném využívání dat, pokud by se s tím údajem pracovalo hodně zuřivě, může být lepší mít ho předpočítaný, protože v budoucnu se nebude měnit, rozhodně ne příliš často (maximálně nějaké opravy špatně zadaných dat).
Práci bych si trochu zjednodušil a příchod i odchod ukládal jako DATETIME, protože zaměstnanec ti může přijít do práce v pondělí před půlnocí a odejít ve středu po půlnoci.
4. 1. 2011 08:45:44
https://webtrh.cz/diskuse/vypsani-vsech-datumu-v-roce-ulozeni-do-db#reply596249
tomik1313
verified
rating uzivatele
(2 hodnocení)
4. 1. 2011 09:42:21
to ondra.knezour: dobre postrehy. View osobne pouzivame casto v projektoch, ale 1) netrufam si vysvetlit pouzitie view na maly projekt so schopnostami autora tohto problemu (preto mi to prislo pridanie stlpca ako sikovne riesenie tohto konkretneho zadania), 2) ako sam uvadzate, ide o staticku hodnotu, ktora sa menit nebude a preto to urychli pracu v selectoch.
Co sa tyka ukladania prichodu a odchodu ako datetime - napadlo ma to tiez (heh, pretoze u nas sa taketo prichody a odchody skutocne stavaju, ale to uz je trosku zlozitejsie, pretoze podla toho treba ratat nadcas, pracu v noci, cez vikendy a sviatky,... presahy dni sa potom trosku komplikuju a teda zavisi to vyhradne na danej / vyvijanej aplikacii)
4. 1. 2011 09:42:21
https://webtrh.cz/diskuse/vypsani-vsech-datumu-v-roce-ulozeni-do-db#reply596248
James_Scott
verified
rating uzivatele
(7 hodnocení)
4. 1. 2011 12:21:47
Dekuji moc za vase tipy. Na View si momentalne asi netroufam, ale zbytek by snad nemel byt problem.
4. 1. 2011 12:21:47
https://webtrh.cz/diskuse/vypsani-vsech-datumu-v-roce-ulozeni-do-db#reply596247
Pro odpověď se přihlašte.
Přihlásit