Да вроде все просто. Предполагается, что ячейки обычно содержат время (т.е. любое значение отличное от нуля), значит поставив 0 можем впоследствии скриптом проводить сверку значения. $row[1] и $row[2] - это элементы массива полученного запросом из БД, и соответствуют второму и третьему столбцу (могут быть другие, в зависимости от их количества и расположения). Вот более полный код:
echo "<table><tr><th>Id</th><th>Четные дни</th><th>Нечетные дни</th></tr>";
while ($row = mysqli_fetch_row($result)){
if ($row[1]==0 && $row[2]==0) //проверяется условие, что запись содержит нули в соответствующих ячейках
{
echo "<tr><td>$row[0]</td><td colspan="2">БОЛЬНИЧНЫЙ</td></tr>";
}
else //если условие не выполнено, значит выводим как есть
{
echo "<tr><td>$row[0]</td><td>$row[1]</td><td>$row[2]</td></tr>";
}
}
echo "</table>";
В принципе можно пойти другим путем. Создать в таблице еще одно поле, которое будет содержать статут врача (больничный/отпуск или еще какой). По умолчанию поле всегда пустое и не заполняется, но если его будет содержать данные, то выводить его заместо времени. Этот вариант лучше тем, что не нужно затирать время. Допустим если это время уже расписано, а врач заболел, то не трогая поля с часами, можно указать, что у него больничный, и тогда данные возьмутся не из полей с часами, а из статуса.
echo "<table><tr><th>Id</th><th>Четные дни</th><th>Нечетные дни</th></tr>";
while ($row = mysqli_fetch_row($result)){
//допустим в таблице есть еще одно поле которое в массиве будет иметь значение статуса $row[3]
if (is_null($row[3])!= true) //проверка на NULL
{
echo "<tr><td>$row[0]</td><td colspan="2">$row[3]</td></tr>";
}
else
{
echo "<tr><td>$row[0]</td><td>$row[1]</td><td>$row[2]</td></tr>";
}
}
echo "</table>";