Я пытаюсь настроить систему фильтров с временными метками Unix: одну для даты начала и одну для окончания. Однако между датами есть некоторое совпадение, например. если я выберу даты с 1 по 28 февраля, они будут включать некоторые данные за 31 января.
Функция:
function getFuelData ($conn){
$sql = "SELECT * FROM fuel_log INNER JOIN flightlog ON flightlog.id = fuel_log.flight_id WHERE 1=1";
$params = [];
$types = "";
if (!empty($_GET['date-start']) && !empty($_GET['date-end'])) {
$timeStampFrom = strtotime($_GET['date-start']);
$timeStampFrom += 86400;
$timeStampTo = strtotime($_GET['date-end']);
$timeStampTo += 86400*2;
$sql .= " AND flightlog.time_stamp BETWEEN ? AND ?";
$params[] = $timeStampFrom;
$params[] = $timeStampTo;
$types .= "ss";
}
$stmt = mysqli_prepare($conn, $sql);
if (!$stmt) {
die("SQL error");
}
if (!empty($params)) {
mysqli_stmt_bind_param($stmt, $types, ...$params);
}
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
return mysqli_fetch_all($result, MYSQLI_ASSOC);
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... time-stamp