Autor | Zpráva | ||
---|---|---|---|
Soles Profil * |
#1 · Zasláno: 15. 6. 2011, 13:03:16
Ahoj,
prosím o radu. Jak byste řešili situaci, když potřebujete v pravidelných periodách publikovat určitý text. Např. mám 15 textů, a každý pracovní den se zobrazí nový (následující), takže perioda zobrazení je 21 dní. Státní svátky bych si už nějak ošetřil, texty budu tahat buď z xml nebo jen z externího souboru. Lze to efektivně řešit nějakou funkcí nebo máte nápad na hezký algoritmus? Díky moc za postřehy. |
||
laijk Profil |
#2 · Zasláno: 15. 6. 2011, 13:07:07
malo by sa to dať cronom, ale ešte som s tým nepracoval.
|
||
shaggy Profil |
#3 · Zasláno: 15. 6. 2011, 13:11:51
Soles:
Alebo to zbytočne nekomplikovať a urobiť to úplne jednoducho. Máš tam nejaký vlastný systém? Kde tie články chceš "publikovať"? Ono vlastne stačí k tomu článku uložiť dátum (a prípadne čas) od ktorého má byť viditeľný a pri výpise článkov ho iba porovnávať s aktuálnym dátumom. Pre lepšie pochopenie jednoduchá ukážka: Máš index.php, ktorý vypisuje zoznam článkov. 18.6. si ho otvorí človek a uvidí všetky články, ktorých dátum bude menší/rovný ako 18.6. |
||
Soles Profil * |
#4 · Zasláno: 15. 6. 2011, 13:19:33
laijk: v cronu bych musel mít pro každý text vlastní záznam, to se mi moc nechce, protože jich je o dost víc než 15 :-)
shaggy: to můj problém asi taky neřeší, nebo jsem to nepochopil. Potřebuji aby Test1 byl "vidět" pouze (dle příkladu) 1. den, 22. den, 43. den .. a Text2 2. den, 23. den, 44. den ... |
||
laijk Profil |
#5 · Zasláno: 15. 6. 2011, 13:21:49
ešte by sa to dalo podmienkou, ale keď ich máš o dosť viac ako 15 tak by to bolo tiež zložité.
|
||
petr 6 Profil |
#6 · Zasláno: 15. 6. 2011, 13:27:55 · Upravil/a: petr 6
Počítat pracovní dny od referenčního data.
Pokud vyčerpáš všechny texty, vynulovat čítač. Pokud je čítač roven nule, stanovit referenční datum. (Hodnotu čítače nebo referenční datum ukládat třeba do souboru) |
||
Soles Profil * |
#7 · Zasláno: 15. 6. 2011, 13:30:54
Podmínkou to zatím taky řeším, a říkám si, že to musí jít jednodušeji, ale nevím jak :-)
if (is_int (($date - $date15)/$cyklus)) // kontrolujeme, zda je výsledek celé číslo { include "text15.php"; // pokud ano vypíšeme text 15 } --- $date = aktuální den v roce $date15 = např patnáctý den v roce $cyklus = požadovaný cyklus zobrazování |
||
okolojdouci Profil * |
#8 · Zasláno: 15. 6. 2011, 13:36:32
Soles:
„laijk: v cronu bych musel mít pro každý text vlastní záznam, to se mi moc nechce, protože jich je o dost víc než 15 :-)“ Sice nevím, co tím chceš říct, ale není to pravda. Cronem můžeš spouštět jakoukoliv akci. Nějaké texty a záznamy s tím nesouvisí. Z tvého posledního příspěvku soudím, že tvoje postupy jsou poměrně bizarní. |
||
Soles Profil * |
#9 · Zasláno: 15. 6. 2011, 13:40:04
S php a obecne s programováním začínám. Děkuji za upozornění, ale že moje postupy nejsou ideální si jsem bezpečně vědom.
|
||
YoSarin Profil |
#10 · Zasláno: 15. 6. 2011, 13:42:29 · Upravil/a: YoSarin
Soles:
Co takhle: $count = 15; // počet textů které máš $day = floor(time() / (24 * 3600)); // zjistime unikatni id tohoto dne $article = ($day % $count) + 1; // cislo clanku ktery chceme zobrazovat (rozsah 1 až $count) $filename = 'text' . $article . '.php'; if (file_exists($filename)) { include $filename; } edit: Nereflektuje to požadavek pracovních dnů, pravda, ale s tím se dá taky pracovat (detekce soboty/neděle a následné přičtení/odečtení 1 nebo 2) |
||
Soles Profil * |
#11 · Zasláno: 15. 6. 2011, 13:55:20
Díky moc, vypadá to, že je to možná to co potřebuji.
|
||
Časová prodleva: 13 let
|
0