Для уточнения: вы хотите исключить субботу и воскресенье при подсчете количества дней с использованием PHP и MySQL. Вот несколько способов добиться этого:
Метод 1: использование классов PHP DateTime и DateInterval
$start = new DateTime('2024-01-01');
$end = new DateTime('2024-01-10');
$interval = new DateInterval('P1D'); // 1 day interval
$period = new DatePeriod($start, $interval, $end);
$days = 0;
foreach ($period as $date) {
if ($date->format('N') < 6) { // Exclude Saturday (6) and Sunday (7)
$days++;
}
}
echo $days; // Output: 7
Метод 2: использование запроса MySQL
$query = "
SELECT COUNT(*) AS total_days
FROM (
SELECT DATE_ADD('2024-01-01', INTERVAL @i:=@i+1 DAY) AS date
FROM information_schema.tables, (SELECT @i:=0) r
LIMIT 10
) AS dates
WHERE WEEKDAY(date) < 5; -- Exclude Saturday (5) and Sunday (6)
";
$result = mysqli_query($connection, $query);
$row = mysqli_fetch_assoc($result);
echo $row['total_days']; // Output: 7
Метод 3: использование функции PHP strtotime()
$start = strtotime('2024-01-01');
$end = strtotime('2024-01-10');
$days = 0;
for ($i = $start; $i <= $end; $i = strtotime('+1 day', $i)) {
if (date('N', $i) < 6) { // Exclude Saturday (6) and Sunday (7)
$days++;
}
}
echo $days; // Output: 7