Показать статус (изображение) PHP MySQL - PullRequest
0 голосов
/ 16 февраля 2012

Мне нужно показать статус присутствия сотрудника в офисе, код, приведенный ниже, работает, но я хотел бы показать только одно изображение за раз, чтобы показать, находится ли сотрудник в офисе.Например, в данный момент, если сотрудник ставит отметку о своем присутствии am_in, а затем am_out в своем статусе, отображаются два изображения.

if ($row_io['am_in'] == !NULL || $row_io['pm_in'] == !NULL) {
    echo '<img src="../images/in.png">';
    }
    else ($row_io['am_out'] == !NULL || $row_io['pm_out'] == !NULL) {
        echo '<img src="../images/out.png">';
        }

1 Ответ

1 голос
/ 16 февраля 2012

Вы должны отделить логику принятия решения от вывода, чтобы ее было легче отлаживать:

$isEmployeeIn = isEmployeeIn($row_io);
printf('<img src="../images/%s.png>', $isEmployeeIn ? 'in' : 'out');

Затем вы помещаете все необходимое для логики в isEmployeeIn, а разделенный вывод обеспечивает отображение только одного изображения за один раз.

Кстати:

$row_io['am_in'] == !NULL || $row_io['pm_in'] == !NULL

Эквивалентно:

$row_io['am_in'] || $row_io['pm_in']

Постарайтесь свести код к минимуму, чтобы не допустить такого количества ошибок.

...