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>"; ?> Quote 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>"; } ?> Quote 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. Quote Link to comment https://forums.phpfreaks.com/topic/163852-solved-date-question/#findComment-864530 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.