Thanks for the reply, i've almost got it working well,
with a few modifications i have got this,
<?
$year=2001;
$month=4;
$this_month=date('m'); // too lazy to check if that's right.
// Whatever the numeric month is
$this_year = date('Y');
?>
<select name="test">
<?
while($year<$this_year || ($year=$this_year && $month<=$this_month))
{
$select_date = mktime(0,0,0,$month,1,$year);
$select_value = "01/$month/$year";
?>
<option value="<?=$select_date?>"><?=$select_value?></option>
<?
if(++$month==13)
{
$month=1;
$year++;
}
}
?>
</select>
This out puts this html
<select name="test">
<option value="986079600">01/4/2001</option>
<option value="988671600">01/5/2001</option>
<option value="991350000">01/6/2001</option>
<option value="993942000">01/7/2001</option>
<option value="996620400">01/8/2001</option>
<option value="999298800">01/9/2001</option>
<option value="1001890800">01/10/2001</option>
<option value="1004572800">01/11/2001</option>
<option value="1007164800">01/12/2001</option>
<option value="978307200">01/1/1</option>
<option value="980985600">01/2/1</option>
<option value="983404800">01/3/1</option>
<option value="986079600">01/4/1</option>
<option value="988671600">01/5/1</option>
<option value="991350000">01/6/1</option>
<option value="993942000">01/7/1</option>
<option value="996620400">01/8/1</option>
<option value="999298800">01/9/1</option>
</select>
which is OK, except for when the year should be 2002, it instead prints "1" which i am assuming is because $year is being treated as a string which when the $year++ is being done it converts to a number incorrectly as 0 ++.
Any suggestions how to stop this ??
TIA
Jamie