Jennifer Charrey wrote:
Why not just use a certain number of days instead of months as your
intervals. Sure, some months are different lengths, but assuming 30
days in a month should be fine for these purposes. So instead of
going 6 months back, where multiple starting dates might resolve to
the same end date (like in the case of Sept. 28-31), just do 180 days
back and you'll always get the same day. Same for your other
intervals. Wouldn't that be a little simpler than trying to figure out
if you already sent something in the last 5 days?
unfortunately, that is not an option. these are contract based and the
contract verbiage is in months not days. believe me, i would much prefer
the method you described. :) in fact, i fought for it, and lost. :(
thnx though. i like the simplicity of that approach much better.
-jim
Jennifer
Jim Anderson wrote:
initial looks tells me that the following won't work either. run the
following:
SELECT DATE_ADD('2007-02-28', INTERVAL 6 MONTH) + INTERVAL 49 DAY =
CURDATE();
SELECT DATE_ADD('2007-03-01', INTERVAL 6 MONTH) + INTERVAL 45 DAY =
CURDATE();
those 2 queries both return true. notice, though, that they are 1
calendar day apart and 4 interval days apart. this is going to have
the same basic effect as before. :(
i think the least development time is going to run a check to see if
the email has been sent within 5 days and , if so, don't send it
again. [5 days chosen as the largest margin of duplication, that i
can see, is 4 days [february] but this would happen in any month
begin/end cycle.]
i do like the brain storming though. feel free to keep up the ideas!
thnx,
-ja
Ben Reece wrote:
Jim Anderson wrote:
A good suggestion. I thought of that as well, but seem to remember
coming across similar issues. I've had about 15 things in my head
throughout the day so I may be getting some of my issues/projects
schmeared though. Do you think doing it that way would skip over
anyone? I saw that as an unlikely, but possible, concern.
i was thinking something like:
WHERE DATE_ADD(start_date, INTERVAL 6 MONTH) + INTERVAL 45 DAY =
CURDATE()
but i haven't had the time to test it out.
to fill out the scenario a bit fuller, the criteria is this:
* 9 different emails. one for each of the following date scenarios.
* six months after sign-up minus 45 days
* six months after sign-up minus 30 days
* six months after sign-up minus 15 days
* six months after sign-up minus 5 days
* six months after sign-up [minus 0 days]
* six months after sign-up plus 15 days
* six months after sign-up plus 30 days
* six months after sign-up plus 45 days
* six months after sign-up plus 60 days
That is the schedule that i have in place.
-jim
I don't see any problem with that statement -- seems like it would
work without any problems. The only possible issue would be that
the emails might not be the exact number of days apart that you
show, since you're adding months, and the date can move a little bit
because of that.
Ben
_______________________________________________
UPHPU mailing list
[email protected]
http://uphpu.org/mailman/listinfo/uphpu
IRC: #uphpu on irc.freenode.net
_______________________________________________
UPHPU mailing list
[email protected]
http://uphpu.org/mailman/listinfo/uphpu
IRC: #uphpu on irc.freenode.net
_______________________________________________
UPHPU mailing list
[email protected]
http://uphpu.org/mailman/listinfo/uphpu
IRC: #uphpu on irc.freenode.net