Introduction
Sometimes you may need to select month value from drop-down or select option box and for that you hardcode the month values in HTML option fields. It is possible to dynamically generate month values using PHP and you can use those generated month values in HTML select option tag. This way you do not need to hardcode the month values and easily generate months with a few line of code.
Related Post:
Prerequisites
PHP 7.x, Apache HTTP Server (Optional)
Generate Months using PHP
Here is the example how you can generate month values in PHP technology. The following PHP code generates <select></select>
and <option></option>
tags.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Dynamically Generate Months in PHP</title>
</head>
<body>
<?php
echo 'Usage Example<br/><br/>';
echo 'echo generate_months();<br/><br/>';
echo generate_months();
/**
* dynamically generate months dropdown
* @param string $id id of the select-option
* @return html
*/
function generate_months($id = 'month') {
//start the select tag
$html = '<select id="' . $id . '" name="' . $id . '">"n"';
$html .= '<option value="">-- Month --</option>"n"';
//echo each month as an option
for ($i = 1; $i <= 12; $i++) {
$timestamp = mktime(0, 0, 0, $i);
$label = date("F", $timestamp);
$html .= '<option value="' . $i . '">' . $label . '</option>"n"';
}
//close the select tag
$html .= "</select>";
return $html;
}
?>
</body>
</html>
Testing Generated Months
Here is the output when you run the php-generate-months.php file in browser.
In the above screen-shot, the function generate_months()
generates 12 months from January to December.