我有以下代码,可作为表格/计算器来计算公共汽车租金价格和预订。该表格包含以下字段:日,月,时间和其他。我必须说这不是我的代码,我只是必须对其进行自定义。
我需要选择一个月时,根据该月显示的天数。例如,如果是2020年2月,则无论选择什么,在适当的字段中应该有29天,而不是现在所有月份的31天。我每个月都需要30天。
这是我需要更改的代码的一部分:
<?php
echo "
<div><select id='diena' name='diena' onchange=\"document.getElementById('yo').innerHTML = '';\">
";
for ($i=1; $i<32; $i++) echo "<option value='$i'". ($i == (date('d') + 1) ? ' selected' : '') .">$i</option>";
echo "
</select>
<select name='menesis' class='menesis' onchange=\"document.getElementById('yo').innerHTML = '';\">
";
$m = array(1 => 'Janvāris', 'Februāris', 'Marts', 'Aprīlis', 'Maijs', 'Jūnijs', 'Jūlijs', 'Augusts', 'Septembris', 'Oktobris', 'Novembris', 'Decembris');
$m2 = array(1 => 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
$m3 = array(1 => 'январь', 'февраль', 'март', 'апрель', 'май', 'июнь', 'июль', 'август', 'сентябрь', 'октябрь', 'ноябрь', 'декабрь');
$m4 = array(1 => 'Januar', 'Februar', 'März', 'April', 'Mai', 'June', 'Juli', 'August', 'September', 'October', 'November', 'December');
if ($lang == '3') {
for ($i=1; $i<13; $i++) echo "<option value='". $m2[$i] ."'". (isset($_POST['menesis']) ? ($_POST['menesis'] == $m2[$i] ? ' selected' : '') : ($i == date('m') ? ' selected' : '')) .">". ($i >= date('m') ? $m3[$i] .", ". date('Y') : $m3[$i] .", ". (date('Y')+1)) ."</option>";
} elseif ($lang == '4') {
for ($i=1; $i<13; $i++) echo "<option value='". $m2[$i] ."'". (isset($_POST['menesis']) ? ($_POST['menesis'] == $m2[$i] ? ' selected' : '') : ($i == date('m') ? ' selected' : '')) .">". ($i >= date('m') ? $m4[$i] .", ". date('Y') : $m4[$i] .", ". (date('Y')+1)) ."</option>";
} elseif ($lang == '2') {
for ($i=1; $i<13; $i++) echo "<option value='". $m2[$i] ."'". (isset($_POST['menesis']) ? ($_POST['menesis'] == $m2[$i] ? ' selected' : '') : ($i == date('m') ? ' selected' : '')) .">". ($i >= date('m') ? $m2[$i] .", ". date('Y') : $m2[$i] .", ". (date('Y')+1)) ."</option>";
} else {
for ($i=1; $i<13; $i++) echo "<option value='". $m2[$i] ."'". (isset($_POST['menesis']) ? ($_POST['menesis'] == $m2[$i] ? ' selected' : '') : ($i == date('m') ? ' selected' : '')) .">". ($i >= date('m') ? $m[$i] .", ". date('Y') : $m[$i] .", ". (date('Y')+1)) ."</option>";
}
echo "
</select>
<select name='laiks' onchange=\"document.getElementById('yo').innerHTML = '';\">
";
for ($i=1; $i<25; $i++) echo "<option value='$i:00'". ($i == 9 ? ' selected' : '') .">". str_pad($i, 2, '0', STR_PAD_LEFT) .":00</option>";
echo "
</select>
</div>
<div><label for='diena2'></label> <select id='diena2' name='diena2' onchange=\"document.getElementById('yo').innerHTML = '';\">
";
for ($i=1; $i<32; $i++) echo "<option value='$i'". ($i == (date('d') + 1) ? ' selected' : '') .">$i</option>";
echo "
</select>
<select name='menesis2' class='menesis' onchange=\"document.getElementById('yo').innerHTML = '';\">
";
if ($lang == '3') {
for ($i=1; $i<13; $i++) echo "<option value='". $m2[$i] ."'". (isset($_POST['menesis']) ? ($_POST['menesis'] == $m2[$i] ? ' selected' : '') : ($i == date('m') ? ' selected' : '')) .">". ($i >= date('m') ? $m3[$i] .", ". date('Y') : $m3[$i] .", ". (date('Y')+1)) ."</option>";
} elseif ($lang == '4') {
for ($i=1; $i<13; $i++) echo "<option value='". $m2[$i] ."'". (isset($_POST['menesis']) ? ($_POST['menesis'] == $m2[$i] ? ' selected' : '') : ($i == date('m') ? ' selected' : '')) .">". ($i >= date('m') ? $m4[$i] .", ". date('Y') : $m4[$i] .", ". (date('Y')+1)) ."</option>";
} elseif ($lang == '2') {
for ($i=1; $i<13; $i++) echo "<option value='". $m2[$i] ."'". (isset($_POST['menesis']) ? ($_POST['menesis'] == $m2[$i] ? ' selected' : '') : ($i == date('m') ? ' selected' : '')) .">". ($i >= date('m') ? $m2[$i] .", ". date('Y') : $m2[$i] .", ". (date('Y')+1)) ."</option>";
} else {
for ($i=1; $i<13; $i++) echo "<option value='". $m2[$i] ."'". (isset($_POST['menesis']) ? ($_POST['menesis'] == $m2[$i] ? ' selected' : '') : ($i == date('m') ? ' selected' : '')) .">". ($i >= date('m') ? $m[$i] .", ". date('Y') : $m[$i] .", ". (date('Y')+1)) ."</option>";
}
echo "
</select>
<select name='laiks2' onchange=\"document.getElementById('yo').innerHTML = '';\">
";
for ($i=1; $i<25; $i++) echo "<option value='$i:00'". ($i == 9 ? ' selected' : '') .">". str_pad($i, 2, '0', STR_PAD_LEFT) .":00</option>";
echo "
</select>
</div>
</div>
</div>";
?>
希望我会在这里找到帮助。
答案 0 :(得分:0)
即使您的代码写得不好并且我没有完全阅读它,您也可以尝试使用输入类型date来提供日期选择器。如果还需要时间,您可以简单地添加另一个输入类型时间。
<input type="date" id="start" name="booking-start"
value="2018-07-22">
<input type="date" id="end" name="booking-end"
value="2018-07-28">