Diskuze: Název směny z datumu
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 5 zpráv z 5.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Nevím, jak v PHP, ale tak obecně ta data máš někde uložená. A pravděpodobně jsou uložená jako datum a čas OD-DO. Pokud ta data nejsou v Unix formátu, převedl bych je a to samé i s dotazovaným datem. Pak už by jen stačilo kontrolovat, zdali se dotazovaný čas, teď již v počtu sekund, nachází uvnitř intervalu OD-DO. Zbytek už snad není problém...
Diky za tip. Toto mě taky napadlo, ale zase jsem nechtěl uchovávat x tisíc dat navíc. Protože ono by to mělo jít jen "spočítat". Něco ve stylu vzít si nejaký "nulový" bod a spočítat kolik uběhlo dní od toho data atd.. Jen nevím jak přesně
No, tak jestli je návrh uložení dat na Tobě, tak jednoduše by to šlo
takto:
Psal jsi, že trvání směny je neměnné, prostě 12h, takže stačí ukládat
jen jedno datum, respektive unixový čas. A pak už jen barvu směny. Čas v
databázi totiž bude vždycky nějaký den a 7:00 nebo 19:00, což Ti
rozlišuje směny na denní a noční. Databáze tedy bude obsahovat sloupce:
zamestnanec(klíč), cas_smeny(klíč),
barva_smeny.
Když pak budeš hledat, není už třeba hledat v nějakém rozmezí, ty z toho času, co uživatel zadá, přece jsi schopen určit, jestli se ptá na denní nebo noční směnu, takže se ten zadaný čas upraví na unixový čas dané směny a podle něj se bude hledat v databázi ve sloupci cas_smeny, což navrátí všechny zaměstnance dané směny a jejich barvu směny... Stejně tak bude tato databáze výhodná, když budeš hledat podle zaměstnance.
PS: Ačkoliv si to možná neuvědomuješ, tak UNIXový čas je právě počet sekund vzatý od určitého "nulového" bodu.
Zobrazeno 5 zpráv z 5.