Я работаю над php. В моем проекте, когда студент регистрируется, он выбирает дату начала и окончания своего курса, например (2012/06/05)
— (2015/06/25)
, Теперь он представляет свои сборы через каждые шесть месяцев. Теперь я хочу, чтобы, когда студент заполнил форму, чтобы представить свои взносы, ему нужно только выбрать годы из тех, для которых он будет проходить курс, т.е. 2012,2013,2014 and 2015
, Как это сделать.
Так может кто-нибудь, пожалуйста, покажи мне где-нибудь там.
Заранее спасибо.
Попробуй это:
$begin = date('Y', strtotime('2012-06-05'));
$end = date('Y', strtotime('2015-06-25'));
$years = array();
while($begin <= $end){
$years[] = $begin++;
}
echo "<pre>";
print_r($years);
это дает:
Array
(
[0] => 2012
[1] => 2013
[2] => 2014
[3] => 2015
)
Этот $ years — это массив, содержащий все годы между двумя датами, введенными пользователем.
Надеюсь это поможет.
Мир! XD
Вам нужно использовать strtotime()
для получения года от даты начала и окончания, а затем получить все годы между двумя годами как:
$start = date('Y', strtotime('2012/06/05'));
$end = date('Y', strtotime('2015/06/25'));
$years = array();
for ($end = $start; $end < date('Y'); $end++) {
$years[] = $end;
}
echo "<pre>";
echo implode(",",$years); //2012,2013,2014,2015
Это можно сделать очень просто:
$start = new DateTime('2012/01/20');
$end = new DateTime('2015/01/20');
$years = range($start->format('Y'), $end->format('Y'));
<select name="year">
<?php foreach ($years as $year): ?>
<option value="<?= $year; ?>"><?= $year; ?></option>
<?php endforeach; ?>
</select>