include файла по значению selected option
Как переделать код так чтобы при выборе года в селекторе инклюдился (или другим способом загружался) код из файла с выбранным годом (с загруженным кодом работают скрипты).
<select class="form-select m-3 mb-0 text-center" id="year_selector" style="width: calc(100% - 2rem);">
<option value="2020"<?php if (date('Y') == 2020) {echo ' selected';} else {echo '';}; ?> >2020</option>
<option value="2021"<?php if (date('Y') == 2021) {echo ' selected';} else {echo '';}; ?> >2021</option>
<option value="2022"<?php if (date('Y') == 2022) {echo ' selected';} else {echo '';}; ?> >2022</option>
<option value="2023"<?php if (date('Y') == 2023) {echo ' selected';} else {echo '';}; ?> >2023</option>
<option value="2024"<?php if (date('Y') == 2024) {echo ' selected';} else {echo '';}; ?> >2024</option>
</select>
<?php
include '2022.php';
?>
Подойдут как PHP так и JS и jQuery (3.5.1) решения. Хотя я сомневаюсь что на php такое вообще возможно, но если вдруг возможно, то предпочтительнее php, все таки сервер быстрее телефона, пускай он вычисляет.
Ответы (1 шт):
Автор решения: Jour
→ Ссылка
<?php
$dateList = [2020, 2021, 2022, 2023, 2024];
$currentDate = (isset($_POST['year_selector']) and in_array($_POST['year_selector'], $dateList)) ? $_POST['year_selector'] : date('Y');
echo '<form method="POST"><select class="form-select m-3 mb-0 text-center" id="year_selector" name="year_selector" style="width: calc(100% - 2rem);">';
foreach ($dateList as $date) {
echo '<option value="'.$date.'" '.($currentDate == $date ? " selected" : "").'>'.$date.'</option>';
}
echo '</select></form>';
include $currentDate.'php';
?>
Можно и на php, решение правда не лучшее... вам останется повесить обработчик отправки формы (кнопку или onchange по селекту)