Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

sonofslim

macrumors 6502a
Original poster
Jun 6, 2003
742
0
i've got a database that inserts records with a time field in the format MM/DD/YYY, instead of a standard timestamp. (i know, i know... but unfortunately i didn't write the original code.)

i'm trying to pull the records back out via PHP with a statement like the following, based on a time i'm setting with an earlier form ($criteria_time):

PHP:
SELECT a, b FROM table WHERE record_time > '$criteria_time'

and i've been playing with things like:

PHP:
$criteria_time = date('n/j/Y', (mktime(0, 0, 0, $month, $day, $year)));

which puts my starting date into a format that matches the one in the database. but i'm having no luck in getting it to work; it just returns every record in the table. does anyone know how i should be doing this? i figure i need to tell mySQL to evaluate record_time and criteria_time as dates and not just strings, but i don't know how to do this.

any and all help appreciated.
 

cb911

macrumors 601
Mar 12, 2002
4,128
4
BrisVegas, Australia
i can't answer your question, but i just wanted to mention that http://www.3dbuzz.com has video tutorials for PHP/mySQL. you can download them from that site after you've registered. i've got them on CD (haven't watched them yet) but all their VTM's are really good stuff.
 

sonofslim

macrumors 6502a
Original poster
Jun 6, 2003
742
0
thanks for the tip!

in case anyone is curious, the answer to my problem is to use a SUBSTRING(string, pos, len) in my query like so:

PHP:
SELECT blah FROM table WHERE 
(SUBSTRING(record_date, 1, 2) >= '$startmonth') 
AND (SUBSTRING(record_date, 4, 2) >= '$startday')  AND(SUBSTRING(record_date, 7, 4) >= '$startyear')

which parses each bit of the date string separately.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.