Во-первых, я предполагаю, что у вас есть несколько одинаковых операторов if / else, соответствующих тому, что есть во втором фрагменте кода. Мы можем очистить их, добавив в ваш код дополнительный l oop. Я также покажу вам, как использовать массив вместо создания отдельной переменной для каждого дня.
Выше l oop создайте массив, где каждый ключ соответствует дню недели. (Замените все объявления переменных $total{DAY} = 0;
этим)
$days = [
'Monday' => 0,
'Tuesday' => 0,
'Wednesday' => 0,
'Thursday' => 0,
'Friday' => 0
];
Теперь мы можем заменить операторы if / else, которые использовались для увеличения переменных $total{DAY}
. Замените ВСЕ эти операторы if / else следующим образом:
foreach(array_keys($days) as $day) {
echo '<b>{$day}: </b>';
if(!empty($presentie["work{$day}"])) {
++$days[$day];
echo $presentie["work{$day}"];;
} else{
echo 'not available';
}
}
Эти 9 строк кода делают то же самое, что и предыдущие ~ 35 строк кода.
Теперь, на ваш актуальный вопрос. Вы сказали в комментарии, что вывод, который вы запрашиваете в своем вопросе, - это « ... на той же странице и перед l oop». Это проблема, потому что ваш l oop - это то, что увеличивает эти значения, нет возможности получить к ним доступ до l oop. Вам нужно будет поставить после l oop. Вот как это сделать после l oop:
//replace with the name of your date select element]
$date = $_POST['date'];
//using `date()`, get the day of the week of the selected date. (Monday-Friday)
$day_of_week = date('l', strtotime($date));
if($days[$day_of_week] > 0) {
echo $days[$day_of_week] . " people available.";
} else {
echo "Not Available";
}