Autor | Zpráva | ||
---|---|---|---|
Sam Carter Profil * |
#1 · Zasláno: 21. 10. 2015, 20:26:32 · Upravil/a: Moderátor (editace znemožněna) 23. 10. 2015, 10:16:41
Ahoj, scháním nějaký kód, který mi zobrazí narozeniny mnoj zadaných lidí, tedy samozřejmě jenom v onen den. Myslím něco jako mají na sledujufilmy.cz. Mají to tam úplně dole.
Moderátor Petr ZZZ: Vlákno promazáno (odstraněno několik nehodnotných textů autora Sitole a reakcí na ty texty).
|
||
Fisir Profil |
#2 · Zasláno: 22. 10. 2015, 20:14:38 · Upravil/a: Moderátor (editace znemožněna) 23. 10. 2015, 10:22:07
Moderátor Petr ZZZ: Odstraněna reakce na smazaný text. Reaguji na Sama Cartera:
Nejprve si musíš sestavit seznam lidí a jejich data narození, třeba pomocí pole: $narozeniny = array( '1990-10-22' => 'Člověk 1', '1994-03-02' => 'Člověk 2', '1986-12-24' => 'Člověk 3' ); foreach($narozeniny as $datum => $jmeno){ $datum = strtotime($datum); if(date('m', $datum) == date('m') and date('d', $datum) == date('d')){ echo('<p>'.htmlspecialchars($jmeno).' má dnes narozeniny!</p>'); } } Samozřejmě, že lze použít i databázi, jak radí Sitole. V takovém případě můžeš přeskočit proces porovnávání v PHP a vybrat si jen takové záznamy, které odpovídají dnešnímu datu. |
||
Sitole Profil |
#3 · Zasláno: 22. 10. 2015, 20:23:45
Fisir:
Z toho co jsem přečetl jsem soudil, že nezná mysql. Jinak se omlouvám za zdroj, ale v tu chvíli to byl první nápad. Administrace databáze bude asi jednoduší, ale vypsání to přímo v PHP bude mnohem rychlejší a nepotřebuješ hosting s podporou databáze. |
||
Radek9 Profil |
Fisir:
Tohle by vracelo špatné výsledky pro data narození před rokem 1970. Doporučil bych místo toho použít třídu DateTime. Edit: Teď na to koukám a ono to evidentně umí pracovat i se záporným timestampem. Problém nastává při příliš nízkých číslech, kdy to může vracet nečekané hodnoty. Vzalo mi to ještě pár měsíců z roku 1901, níž už to ale házelo jiné roky. |
||
Fisir Profil |
Reaguji na Radka9:
Já v tom nevidím žádný problém, bez problémů prošly narozeniny z roku 235. Ještě doplním, že kód funguje zcela dle očekávání až od PHP 5.3. PHP 4.4, PHP 5.0 a PHP 5.2 mohou mít problémy s určením správného roku, ale klíčová podmínka pro den a měsíc správně projde. Radek9 kód pravděpodobně testoval na archaické verzi PHP 5.1, která skutečně má pod ním zmíněnou hranici roku 1902 problém. Nepovažuji to ale za důležité, jelikož tato verze je dávno zastaralá, nepodporovaná a nebezpečná. |
||
Časová prodleva: 9 let
|
0