Jump to content

Year Generated Drop Down List


Go to solution Solved by fastsol,

Recommended Posts

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

  • Solution

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.

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.

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.

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.