Two steaming cups of chocolate goodness. Courtesy of whomever I swiped it from out of the cupboard.

Ben ,'The Killer In Me'


Buffistas Building a Better Board ++

Do you have problems, concerns, or recommendations about the technical side of the Phoenix? Air them here. Compliments also welcome.


Jon B. - Oct 03, 2005 11:27:31 am PDT #584 of 4671
A turkey in every toilet -- only in America!

And in this very thread.


Topic!Cindy - Oct 03, 2005 11:56:04 am PDT #585 of 4671
What is even happening?

Huh.

Yesterday, this thread was fine. I double checked. Because I noticed the problem in Natter 39, which is the most recent thread, and because last time, the threads that were affected with a similar problem were both newish, I went backwards, from Natter (which is thread number 151), to Bitches (150), all the way to this thread (146). This thread and the closed Natter 38 (thread 147) were fine, so I stopped going backwards.


Eddie - Oct 03, 2005 1:38:18 pm PDT #586 of 4671
Your tag here.

I searched all of the threads that weren't archived, checking post_id=3 and found that as far back as thread 132 the month is missing. Let's see if this HTML works...

Thread ID Missing Month? 132 Y 133 N 134 Y 135 N 136 Y 137 N 138 N 139 N 140 Y 141 N 142 N 143 Y 144 N 145 N 146 Y 147 N 148 Y 149 Y 150 Y 151 Y

Without seeing the code, it's hard to say what's going on; but, the available months in the select box seems to be dependent upon the months available within that particular thread. Perhaps there is something unique to these threads date-wise that's causing this error?


Eddie - Oct 03, 2005 2:09:37 pm PDT #587 of 4671
Your tag here.

Ok, I think I found a correlation. Posts with missing months in the jump control have posts in October. I'm trying to find something I read a long while ago about a y2k-type issue in 2005... but maybe that's just my imagination. Anyway, here's some more data:

Thread ID Missing Month? First Post Last Post 132 Y 2/16 10/3 133 N 2/22 5/23 134 Y 3/5 10/3 135 N 3/11 9/28 136 Y 3/14 10/3 137 N 5/23 4/28 138 N 3/29 5/18 139 N 4/28 6/7 140 Y 5/10 10/1 141 N 5/18 7/12 142 N 6/7 7/14 143 Y 6/23 10/3 144 N 7/12 9/1 145 N 7/14 8/21 146 Y 7/23 10/3 147 N 8/21 9/22 148 Y 8/25 10/3 149 Y 8/31 10/3 150 Y 9/1


Eddie - Oct 03, 2005 2:09:42 pm PDT #588 of 4671
Your tag here.

DXMachina - Oct 03, 2005 2:33:34 pm PDT #589 of 4671
You always do this. We get tipsy, and you take advantage of my love of the scientific method.

All but one of the working threads on that list are closed, but I just posted in thread #135 (Buffy and Angel 1), and sure enough, that broke the month box.


Aims - Oct 03, 2005 2:39:55 pm PDT #590 of 4671
Shit's all sorts of different now.

Hey! Quit breaking stuff!


DXMachina - Oct 03, 2005 2:40:57 pm PDT #591 of 4671
You always do this. We get tipsy, and you take advantage of my love of the scientific method.

It was an accident...


Lee - Oct 03, 2005 3:28:39 pm PDT #592 of 4671
The feeling you get when your brain finally lets your heart get in its pants.

Uh huh.


Eddie - Oct 03, 2005 4:11:36 pm PDT #593 of 4671
Your tag here.

I had to go out, but I gave this some thought. As interesting as it would be to solve this problem, I think there's a more practical solution. I understand trying to limit the choices to possible values, but you're almost always going to end up with invalid choices, particularly with the month and day fields. My recommendation would be as follows:

Year: Continue with the way it is now. It's fairly inexpensive performance-wise to find the minimum and maximum dates in a thread and extract the year from those dates.

Month: List all months, Jan - Dec (you can keep the digits behind the scenes with the html 'value' tag if that's more convenient... humans tend to understand three digit months faster than translating a digit).

Day: List all days, 1 - 31.

The worst that will happen if the user selects an invalid date (i.e. a date not within the thread's time frame) is no posts are returned. You can clue the user into valid dates by printing the first post date nearby, if you want. Hmm... not sure what the behavior would be if a user selected Feb 31, 2005 (for example). I suppose you're going to need some date validation code before using the supplied date in a query.

This way, you save yourself a couple of queries per page view and it simplifies things which is usually a good thing.