laeckler Posted September 10, 2013 Share Posted September 10, 2013 Hi All! I'm working on a PHP contact form with a drop down for the year. Right now the drop down is in HTML, but I'd like to change it to be automatically generated starting with the current year and go for the next, say, 4 years. This is what I have at the moment: <select name="year" id="contact-year" tabindex="7"> <option value="{$this->year}">{$this->year}</option> <option value="2010">2010</option> <option value="2011">2011</option> <option value="2012">2012</option> <option value="2013">2013</option> <option value="2014">2014</option> <option value="2015">2015</option> <option value="2016">2016</option> </select> If I can make it so that we (my company) don't have to go in every few years to add more, that'd be ideal. I'm not a developer by any means, nor do I know anything about PHP, so I'm just editing something that I inherited. Thanks for your help in advance! Link to comment https://forums.phpfreaks.com/topic/282055-year-generated-drop-down-list/ Share on other sites More sharing options...
fastsol Posted September 10, 2013 Share Posted September 10, 2013 Something like this <?php $current_year = date("Y"); $range = range($current_year, ($current_year + 4)); echo '<select name="year" id="contact-year" tabindex="7">'; //Now we use a foreach loop and build the option tags foreach($range as $r) { echo '<option value="'.$r.'">'.$r.'</option>'; } //Echo the closing select tag echo '</select>'; ?> This will start the list with the current year and add 4 year to it. Link to comment https://forums.phpfreaks.com/topic/282055-year-generated-drop-down-list/#findComment-1449034 Share on other sites More sharing options...
Love2c0de Posted September 10, 2013 Share Posted September 10, 2013 Good evening, $options = ""; for($x = 0; x <= 5; x++) { $options .= "<optiion value='201{$x}'>201{$x}"; } Then in your HTML form put: <form> <select> <?php print($options); ?> </select> </form> Kind regards, L2c. Link to comment https://forums.phpfreaks.com/topic/282055-year-generated-drop-down-list/#findComment-1449035 Share on other sites More sharing options...
Love2c0de Posted September 10, 2013 Share Posted September 10, 2013 Fastsol wins, don't do my option, it was rushed as well - bacon! Kind regards, L2c. Link to comment https://forums.phpfreaks.com/topic/282055-year-generated-drop-down-list/#findComment-1449036 Share on other sites More sharing options...
fastsol Posted September 10, 2013 Share Posted September 10, 2013 On 9/10/2013 at 9:05 PM, Love2c0de said: Good evening, $options = ""; for($x = 0; x <= 5; x++) { $options .= "<optiion value='201{$x}'>201{$x}"; } Then in your HTML form put: <form> <select> <?php print($options); ?> </select> </form> Kind regards, L2c. Your example would make them need to update it in the next 3 years cause it would need to change to 202 in your code. Granted it's not unlikely that it won't need to be updated in some way before then anyway but it's always best to code it in a way that you don't need to update it for something so trivial. Link to comment https://forums.phpfreaks.com/topic/282055-year-generated-drop-down-list/#findComment-1449037 Share on other sites More sharing options...
laeckler Posted September 10, 2013 Author Share Posted September 10, 2013 Thanks fastol & love2code! With a little help from you guys and a glossary of terms I was able to make it work! Link to comment https://forums.phpfreaks.com/topic/282055-year-generated-drop-down-list/#findComment-1449049 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.