Я пытаюсь выяснить, как найти пользователя, который был зарегистрирован в течение определенного периода времени?
Случай:
Таблица примеров данных входа в систему
user,time_from,time_to
user1,19:10,19:20
user2,10:00,22:00
user3,18:00,18:59
Я хочу получить, если пользователь1 и user2 были в сети между 19:00 и 20:00, а user3 - нет.
В этом случае данные хранятся в mysql, и я использую php для вывода данных.
Предложения?
Чтобы найти всех пользователей, зарегистрированных в определенный период времени, вам нужно проверить, что time_from
меньше конца периода, а time_to
больше, чем начало.
Простой пример использования PDO:
$sql = 'SELECT user FROM login_data WHERE time_from <= ? AND time_to >= ? GROUP BY user';
$stmt = $pdo->prepare($sql);
$stmt->execute([$end_time, $start_time]);
$users = $stmt->fetchAll();
Это не приведет к тому, что вы не вошли в систему в указанный период времени, но теоретически можете присоединиться к результатам в таблице пользователей, чтобы найти это.