Я собираюсь реализовать функцию поиска в mySQL для приложения, которое я создаю, пользователь вводит [на данный момент, позже будет выбор календаря] дату начала и окончания, и нажимает поиск
- if (начальный день> конечный день), THEN ошибка
- if (начальный месяц> end month), THEN ошибка
Пока все в порядке, но с учетом этого
- if (начальный день> конечный день) && (начальный месяц <конечный месяц), THEN поиск </li>
- if (начальный месяц> конечный месяц) && (начальный год <конечный год), THEN поиск</li>
Я не беспокоюсь о високосных годах, я буду циклически повторять все месяцы до 31 дня, потому что, если день находится в БД, он извлечет его, в противном случае, он перейдет к 31 и ничего не вернеттак как дня нет,
Я использую varchar для своих дат (без отметки времени), так как они импортированы из json [iOS]
Хорошо, надеюсь, имеет смысл,
здесь код,
<?PHP
$start = $_POST['start_date'];
$end = $_POST['end_date'];
$start_time = explode('/', $start);
$end_time = explode('/', $end);
$count_start = $start_time[0];
$count_end = $end_time[0];
$month_start = $start_time[1];
$month_end = $end_time[1];
$year_start = $start_time[2];
$year_end = $end_time[2];
function cuenta($count_start, $count_end) {
for($count_start; $count_start <= $count_end; $count_start++) {
print $count_start . "<BR>";
}
}
if (!isset($_POST['Submit1']) || ($start == "Start Date" && $end == "End Date") || ($start == "" && $end == "End Date") || ($start == "Start Date" && $end == "")
|| ($start == "" && $end == ""))
{
print ("no data yet")."<BR>";
}
if ($year_start[2] > $year_end[2]){
print ("Please make sure end date Year is equal or greater than start date Year");
}
if (($month_start > $month_end) && ($year_start <= $year_end)){
print ("Please make sure end date Month is greater than start date Month");
}
elseif (($month_start > $month_end) && ($year_start < $year_end)){
cuenta($count_start, $count_end);
}
elseif ($count_start > $count_end) {
print ("Please make sure end date Day is greater than start date Day");
}
?>
Я начинаю в php, извините, если я пропускаю очевидное !, [вот почему яsking haha] так что, если я пропускаю какую-то другую важную проверку для поиска между диапазонами дат, plz, дайте мне знать, а также plz, укажите мне лучшее направление для этого леса ifs!
спасибо большое!