Добрый вечер.
Подскажите где я ошибся пожалуйста. Изучаю switch-case.
Код:
$status = "";
$statusok = "Выполнен";
$statusbad = "Не выполнен";
switch ($mcg['klost'] && $mcg['slost']):
case ($mcg['klost'] == 0 && $mcg['slost'] == 0):
$status = $statusok; break;
default:
$status = $statusbad; break;
endswitch;
$smarty->assign('status', $status);
Как в моем понимании работает этот код.
Назначаем переменную $status - пустой строкой.
Объявляем переменные $statusok - "Выполнен" и $statusbad - "Не выполнен".
Выбираем для перебора значения из ассоциативного массива (объявлен ранее) $mcg столбец klost и $mcg столбец slost.
Проверяем на условие, что $mcg столбец klost равен 0 И $mcg столбец slost равен 0.
Присваем значение перемнной $status - $statusok.
В остальных случаях (т.е. если одно из значений не равно 0) переменной $status присваевается $statusbad.
Передаю переменную $status в Smarty.
Вывод в смарти осуществляется:
{$status}
Однако такой код присваивает ВСЕМ записям значение "Не выполнен", независимо от числа в $mcg['klost'] и $mcg['slost'].
Подозреваю, что неправильно написал условия для перебора.
Направьте на путь истинный пожалуйста.