Autor | Zpráva | ||
---|---|---|---|
anonymous Profil * |
#1 · Zasláno: 20. 9. 2005, 17:26:12
Dobry den,
mam takovyto skript, ktery spocita urcitou hodnotu a v zavisloti na vysledku bud posle informacni e-mail nebo ne. <? Tento skript budu pravidelne spoustet cronem kazdy den, jde o to ze potrebuju aby se na kazdou adresu uvedenou v databazi mail poslal maximalne jednou za mesic. Jak toho docilit? Napadlo me ukladat vsechny adresy na ktere se mail odesle do souboru a vzdy pred odeslanim mailu zkontrolovat jestli ten soubor obsahuje danou adresu. Co tomu rikate? Slo by to tak? Nebo nekoho napadlo lepsi reseni? Dekuji za odpovedi |
||
igamenir Profil |
#2 · Zasláno: 20. 9. 2005, 18:34:33
Já bych si ukládal do databáze, kdy jsem to odeslal a pak si přímo v SQL příkazu vypsal jenom ty, co nedostali mail dýl než měsíc.
Také bych tu podmínku na počet převed rovnou do příkazu a vypsal si jenom ty, kterým mám mail poslat, a stejnou podmínku pak použít pro update, kde jim nastavím ten datum odeslání. |
||
mackopu Profil |
#3 · Zasláno: 21. 9. 2005, 13:28:07 · Upravil/a: mackopu
1. Doplň do databázové tabulky presahy další sloupec s názvem např. datum_odeslani_zpravy jako typ DATE (rrrr-mm-dd).
2. Rozšiř skript: <? |
||
anonymous Profil * |
#4 · Zasláno: 21. 9. 2005, 14:39:28
Diky za skvele rady, vyresil sem to bez datumu se sloupcem "odeslano", kde sou dve moznosti "y" a "n". Je to stejny princip jako ste navrhovali. Mockrat dekuji!!
|
||
mackopu Profil |
#5 · Zasláno: 21. 9. 2005, 15:29:37
Promiň že tě srážím v rozletu, ale obávám se, že takto ti nebude fungovat podmínka odesílání mailů jednou za měsíc. Tvé řešení se sloupcem odeslano má teď za následek pouze to, že pokud už byl někdy email odeslán, tak už se neodešle NIKDY v budoucnu. A to - pokud jsem zadání správně pochopil - není tvým záměrem.
|
||
Časová prodleva: 5 dní
|
|||
Anonymní Profil * |
#6 · Zasláno: 26. 9. 2005, 16:52:56
samozrejme pokazde prvniho se mi vsechny zaznamy zmeni na "n", to jsem zajistil...
|
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0