i did just this the the other day. i used this..
At the top of the document...
//pre select date
$day=date("j", $cal_time);
$month=date("n", $cal_time);
$year=date("Y", $cal_time);
$d_select[$day]="SELECTED";
$m_select[$month]="SELECTED";
...where $cal_time is the timestamp (like 1073745637 or something)
And then the html will read like this...
<select name="day" id="day">
<option <?php print $d_select[1] ?> value="1">1</option>
<option <?php print $d_select[2] ?> value="2">2</option>
<option <?php print $d_select[3] ?> value="3">3</option>
<option <?php print $d_select[4] ?> value="4">4</option>
<option <?php print $d_select[5] ?> value="5">5</option>
<option <?php print $d_select[6] ?> value="6">6</option>
<option <?php print $d_select[7] ?> value="7">7</option>
<option <?php print $d_select[8] ?> value="8">8</option>
<option <?php print $d_select[9] ?> value="9">9</option>
<option <?php print $d_select[10] ?> value="10">10</option>
<option <?php print $d_select[11] ?> value="11">11</option>
<option <?php print $d_select[12] ?> value="12">12</option>
<option <?php print $d_select[13] ?> value="13">13</option>
<option <?php print $d_select[14] ?> value="14">14</option>
<option <?php print $d_select[15] ?> value="15">15</option>
<option <?php print $d_select[16] ?> value="16">16</option>
<option <?php print $d_select[17] ?> value="17">17</option>
<option <?php print $d_select[18] ?> value="18">18</option>
<option <?php print $d_select[19] ?> value="19">19</option>
<option <?php print $d_select[20] ?> value="20">20</option>
<option <?php print $d_select[21] ?> value="21">21</option>
<option <?php print $d_select[22] ?> value="22">22</option>
<option <?php print $d_select[23] ?> value="23">23</option>
<option <?php print $d_select[24] ?> value="24">24</option>
<option <?php print $d_select[25] ?> value="25">25</option>
<option <?php print $d_select[26] ?> value="26">26</option>
<option <?php print $d_select[27] ?> value="27">27</option>
<option <?php print $d_select[28] ?> value="28">28</option>
<option <?php print $d_select[29] ?> value="29">29</option>
<option <?php print $d_select[30] ?> value="30">30</option>
<option <?php print $d_select[31] ?> value="31">31</option>
</select>
/
<select name="month" id="month">
<option <?php print $m_select[1] ?> value="1">Jan</option>
<option <?php print $m_select[2] ?> value="2">Feb</option>
<option <?php print $m_select[3] ?> value="3">Mar</option>
<option <?php print $m_select[4] ?> value="4">Apr</option>
<option <?php print $m_select[5] ?> value="5">May</option>
<option <?php print $m_select[6] ?> value="6">Jun</option>
<option <?php print $m_select[7] ?> value="7">Jul</option>
<option <?php print $m_select[8] ?> value="8">Aug</option>
<option <?php print $m_select[9] ?> value="9">Sep</option>
<option <?php print $m_select[10] ?> value="10">Oct</option>
<option <?php print $m_select[11] ?> value="11">Nov</option>
<option <?php print $m_select[12] ?> value="12">Dec</option>
</select>
/
<input name="year" type="text" id="year" value="<?php print $year ?>" size="4" maxlength="4"></td>
Sorry its so long, but you can see what its doing. There is a neater way where you can generate the HTML using a loop, but i didnt think of it at the time