Jump to content

Year Generated Drop Down List


laeckler

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
Share on other sites

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
Share on other sites

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
Share on other sites

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
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • 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.