will35010 Posted June 27, 2009 Share Posted June 27, 2009 I have a question about DATE. I want to generate select options for the years going back 30 and forward 5 in php. How would I do this? <?PHP for($i=date("Y"); $i<=date("Y")+2; $i++) if($year == $i) echo "<option value='$i' selected>$i</option>"; else echo "<option value='$i'>$i</option>"; ?> Link to comment https://forums.phpfreaks.com/topic/163852-solved-date-question/ Share on other sites More sharing options...
cunoodle2 Posted June 27, 2009 Share Posted June 27, 2009 Something like this will do day and year. It will NOT work for leap years and such but you get the idea... <select size="1" name="day"> <?php //write out all the options for 1-31 days for ($day = 1; $day < 32; $day++) { echo "\n\t <option "; if ($day_of_month == $day) echo "SELECTED "; echo "value\"=".$day."\">".$day."</option>"; }?> </select> <select size="1" name="year"> <?php for ($i = (date("Y") - 30); $i < (date("Y") + 2); $i++) { echo "\n\t <option "; if ($year == $i) echo "SELECTED "; echo "value\"=".$i."\">".$i."</option>"; } ?> Link to comment https://forums.phpfreaks.com/topic/163852-solved-date-question/#findComment-864529 Share on other sites More sharing options...
will35010 Posted June 27, 2009 Author Share Posted June 27, 2009 Something like this will do day and year. It will NOT work for leap years and such but you get the idea... <select size="1" name="day"> <?php //write out all the options for 1-31 days for ($day = 1; $day < 32; $day++) { echo "\n\t <option "; if ($day_of_month == $day) echo "SELECTED "; echo "value\"=".$day."\">".$day."</option>"; }?> </select> <select size="1" name="year"> <?php for ($i = (date("Y") - 30); $i < (date("Y") + 2); $i++) { echo "\n\t <option "; if ($year == $i) echo "SELECTED "; echo "value\"=".$i."\">".$i."</option>"; } ?> Thanks. Link to comment https://forums.phpfreaks.com/topic/163852-solved-date-question/#findComment-864530 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.