mrusklon
@mrusklon
Не получается? Яростно гугли!

Как совместить код php с mysql?

написал код который проверяет за определенную дату какой это день (рабочий\не рабочий\праздник и т.п)
$gettingsDtae = ;
$gettingsDtae = preg_replace('![^0-9]+!', '', $gettingsDtae);

$url = 'https://isdayoff.ru/' . $gettingsDtae . '?ua=UA&pre=1';
$correctDate = file_get_contents($url);
if ($correctDate == 0) {
    $gettingsDtae = "Рабочий день";
    $limit = 8;
} elseif ($correctDate == 1) {
    $gettingsDtae = "Нерабочий день";
    $limit = 0;
} elseif ($correctDate = 2) {
    $gettingsDtae = "Сокращённый день";
    $limit = 7;
} elseif ($correctDate = 100) {
    $gettingsDtae = "Ошибка в дате/коде страны";
} elseif ($correctDate = 101) {
    $gettingsDtae = "Данные не найдены";
} elseif ($correctDate = 199) {
    $gettingsDtae = "Ошибка сервиса";
} else {
    $gettingsDtae = "неизвестная ошибка с датой";
}


теперь надо это слепить с выборкой из БД

$starttime = 2019-03-01;
$endtime = 2019-03-30;
$query2 = $mysqli->query("
SELECT    `date` ,`user_id`, SUM(hours) hours_plus
FROM `user_dolg` 
WHERE `date` BETWEEN '$starttime' AND '$endtime'
GROUP BY `date`, `user_id`

выборка из БД вот такая будет:
mY5kKLa.png

надо подставить `date` в $gettingsDtae и sub_hours с провести сравнение

array_walk($items, function (&$value) use ($limit) {
    $hours = $value['hours'];
    if ($hours > $limit) {
        $value['hours_plus'] = $hours - $limit;
    }
    else{
        $value['hours_plus'] = 0;
    }
});


я не пойму как подставить циклом даты из таблицы и я не уверен в правильности php кода который array_walk
и не особо важный вопрос, что будет с сайтом если я запрошу данные за год, там будет ~2000-7000 запросов

кто что посоветует?
  • Вопрос задан
  • 88 просмотров
Решения вопроса 2
SilenceOfWinter
@SilenceOfWinter Куратор тега PHP
та еще зажигалка...
проще сразу все даты получить
https://timeanddate.com/calendar/?year=2019&country=76
https://ua.all.biz/guide-holidays
Ответ написан
Комментировать
romanko_vn
@romanko_vn
написал код который проверяет за определенную дату какой это день (рабочий\не рабочий\праздник и т.п)


сделать из этого функцию и используй ее в цикле while
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы