Tutorials, PHP & MySQL

Financial years start from April to March, a common requirement is to be able to select a financial year from a select menu.

First by creating an array of years.

$dates = range('2016', date('Y'));

Loop over the years

foreach($dates as $date){

    if (date('m', strtotime($date)) <= 6) {//Upto June
        $year = ($date-1) . '-' . $date;
    } else {//After June
        $year = $date . '-' . ($date + 1);
    }

    echo "<option value='$year'>$year</option>";
}

if the month is less than or equal to June then set the year minus 1 year and add the current year (2016 - 2017) otherwise select the year and add the next year (2017 - 2018)

Putting it all together

<label class="control-label" for='year'> Year</label>
<select name="year" class="form-control">
<option value="">Select</option>
<?php
$dates = range('2016', date('Y'));
foreach($dates as $date){

    if (date('m', strtotime($date)) <= 6) {//Upto June
        $year = ($date-1) . '-' . $date;
    } else {//After June
        $year = $date . '-' . ($date + 1);
    }

    echo "<option value='$year'>$year</option>";
}
?>
</select>