ARTICLE AD BOX
I'm trying to set up a filter system with Unix timestamps, one for start date and one for end. However there is some overlap between the dates, e.g. if I select dates from February 1 - 28 it includes some data from January 31.
Function:
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); } <div class="col-md-2"> <input type="date" class="form-control" name="date-start" value="<?= isset($_GET['date-start']) == true ? $_GET['date-start'] : ''?>" > </div> <div class="col-md-2"> <input type="date" class="form-control" name="date-end" value="<?= isset($_GET['date-end']) == true ? $_GET['date-end'] : ''?>" > </div>124k31 gold badges281 silver badges491 bronze badges
4057 silver badges24 bronze badges
4
Explore related questions
See similar questions with these tags.
