strtotime doesn't like the date in your format.
It needs to be backwards dd-mm-yyyy.
The second script works, but Monday is the start of the week.
The mysql solution is good too.
date() takes UNIX timestamps.
$fdate = preg_replace( '/([0-9]+)-([0-9]+)-([0-9]+)/','3-2-1' , $date );
$udate = strtotime( $fdate );
converts your date format to unix type.
HalfaBee