У меня есть таблица с недельными данными, которая выглядит так:
userID Site date
------ ------ ------
Smith Ferris Wheel 2009-07-13
Jones Outerspaceland 2009-07-13
LChar Ferris Wheel 2009-07-14
Smith Underworld 2009-07-16
Jones Fish Bowl 2009-07-17
Munson Go-Go Tech 2009-07-16
В настоящее время у меня есть PHP-скрипт, который сначала получает диапазон дат (понедельник - пятница), а затем выполняет запрос для каждого userID для этого диапазона дат. Затем я перебираю результаты и проверяю пробелы между датами. Если есть пробел, он выводит дату, и сайт указывается как «Оставайтесь дома». Он должен учитывать несколько дней подряд (например, если пользователь размещен только в понедельник и пятницу той недели), и он должен сделать дополнительный шаг в конце каждой недели, чтобы убедиться, что если пользователь остается дома после Среда (таким образом, четверг и пятница заполняются как пробелы). Таким образом, необходимо выполнить три проверки: одну для пользователей, не начинающих работу в понедельник, одну для разрывов между днями и одну для пользователей, заканчивающихся до пятницы ... плюс для любой из этих ситуаций приходится учитывать дни подряд.
Сценарий в основном создает массив диапазона дат для проверки, и он прекрасно работал в течение нескольких месяцев. ОДНАКО
Мне было интересно, есть ли функция MySQL для возврата выходных для каждого пользователя? Чтобы я мог указать в запросе «Оставайся дома» и не запускать прикольный сценарий, который вечно объясняет другим людям, работающим со мной над моим сценарием?
Спасибо!