Как сделать вывод из БД цветным?
Задача следующая: Есть классный журнал, куда выставляются оценки, они сохраняются, но нужно сделать так, чтобы они выводились цветными, причем каждая имеет свой цвет. "2" - красный "3" - желтая "4" - синяя "5" - зеленый. Помогите, буду очень всем вам благодарен!
// сюда ставятся оценки
echo "<td><input type='text' name='" . $inputName . "' value='" . $value . "' size='1' style='border: none; width:25px' onblur='saveMark(this)' /></td>";
//Надо что бы было на каждой оценки вот так:
<span class="badge text-bg-success">5</span>
<span class="badge text-bg-primary">4</span>
<span class="badge text-bg-warning">3</span>
<span class="badge text-bg-danger">2</span>
Ответы (1 шт):
Автор решения: TheRetroHome
→ Ссылка
Примерно так должно работать. Сделаем функцию подобного рода
function getMarkBadge($value) {
switch ($value) {
case 2:
return "<span class='badge text-bg-danger'>$value</span>";
case 3:
return "<span class='badge text-bg-warning'>$value</span>";
case 4:
return "<span class='badge text-bg-primary'>$value</span>";
case 5:
return "<span class='badge text-bg-success'>$value</span>";
default:
return "<span>$value</span>";
}
}
И дальше просто используем её
echo "<td>" . getMarkBadge($value) . "</td>";
Есть ещё такой вариант кода
function getMarkBadge($value) {
$colors = [
2 => 'danger',
3 => 'warning',
4 => 'primary',
5 => 'success'
];
$color = $colors[$value] ?? 'secondary'; // 'secondary' как более нейтральный цвет для неопределенных значений
return "<span class='badge text-bg-{$color}'>$value</span>";
}