[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Смена цвета текста в зависимоти от значения
WisesT
Приветствую.
Вот какое дело.

Вступление

У меня есть страничка вывода заказов. Там в таблице есть столбец "Статус". Информация в поле "Статус" может быть только 1 из 3 вариантов.
Сообщено
Забрано
Отменено.

Вот таким вот кодом реализовано смену цвета надписи в зависимости от значения статуса
<td bgcolor=\"ededed\">".(
$postrow[$i]['status']=='Сообщено'
? '<span style="color:green;">Сообщено</span>'
: ($postrow[$i]['status']=='Забрано'
?'<span style="color:OrangeRed;">Забрано</span>'
: ($postrow[$i]['status']=='Отменено'
? '<span style="color:red;">Отменено</span>'
: '')
)
).
"</td>


Вот что попросили прикрутить.

В этой же таблице есть столбец "Готовность"
<td bgcolor=\"ffffff\">".$postrow[$i]['gotovnost']."</td> 

В этом столбце инф-я может быть разнообразной. Например: "Гот", "после 14:00", "с 12 до 14" и иногда пишется фраза "Приоритет".
Нужно как-то сделать так, что бы при появлении этой инфы в столбце, слово "Приоритет" было другого цвета. Пробовал прикрутить код от поля "Статус". Слово "Приоритет" подкрашивает, но все остальные записи вообще не отображает. Можно сделать, что-то вроде if "Приоритет" -> color=такойто, if "что-то другое" -> color=такойто? Это по минимуму.

В идеале хотелось бы реализовать, что бы оно регировало и на запись типа "Приоритет. Забрать в 12.00"

Реально? Вообще на чем это лучше/легче сделать?

Спасибо.



Спустя 2 минуты, 34 секунды (17.02.2012 - 14:07) inpost написал(а):
bgcolor - устаревший аттрибут, используй style="background-color"

Спустя 2 минуты, 32 секунды (17.02.2012 - 14:09) ADiel написал(а):
хм.. а что если switch? Оно удобнее, чем куча сокращенных if


<?php
switch($postrow[$i]['status']){
case "Сообщено":
$status = array('Сообщено','green');
break;
default:
$status = array('Неизвестно', 'red');
break;
}
?>
<td bgcolor="ededed">
<
span style="color:<?php echo $status[1] ?>;"><?php echo $status[0] ?></span></td>

Спустя 1 минута, 18 секунд (17.02.2012 - 14:11) WisesT написал(а):
Напиши пример, пожалуйста.

Спустя 2 минуты, 3 секунды (17.02.2012 - 14:13) WisesT написал(а):
Цитата (inpost @ 17.02.2012 - 11:07)
bgcolor - устаревший аттрибут, используй style="background-color"

ок. перепишу на досуге.
А чем чревато использование старого тега?

Спустя 1 минута, 39 секунд (17.02.2012 - 14:14) ADiel написал(а):
WisesT, выше.
Можно добавлять кучу case. Не забывай про break.

Цитата
А чем чревато использование старого тега?

Может перестать работать в некоторых браузерах. А вообще используй CSS. Это легко и сразу разгрузишь шаблон.

Например
<span class='green'>Текст</span>

И в ксс
span.green{
color: green;
font-size: 16px;
}


Можно кучу свойство дописать.

Спустя 4 минуты, 57 секунд (17.02.2012 - 14:19) WisesT написал(а):
ADiel
Ага, понял, но это для столбца статус (тоже на досуге перепишу если что).

Но как быть со столбцом "Готовность"?
Мне нужно, что бы реагировало только на слово "Приоритет" (как минимум), а в идеале
что бы из фразы "Приоритет. Забрать в 10.00" делало "Приоритет. Забрать в 10.00" Тоесть из "Приоритет. ******" где *** что угодно - делало "Приоритет. *****"

Спустя 11 минут, 39 секунд (17.02.2012 - 14:31) ADiel написал(а):
Считайте, что кричу матом.
Я не вижу исходных данных, потому абсолютно не понимаю, что именно Вы хотите.
Думаю, в готовность необработанные данные. Потому нужно хранить не в одной строке, а в трех например.
1 - id состояния (1 - готов, 2 - просрочен итд....)
2 - Текст состояния ("Заберу", "Забрал")
3 - дата и время

Теперь можем составить готовность
1 - Проверяем id состояния и сверяем дату с текущей (определяем цвет)
2 - пишем Готов + заберу + дата и время

Спустя 2 минуты, 4 секунды (17.02.2012 - 14:33) ADiel написал(а):
Если я не понял задачу, то попробую второй вариант.
$postrow[$i]['gotovnost'] = str_replace("Приоритет","<span class='blue'>Приоритет</span>", $postrow[$i]['gotovnost']);

Спустя 1 минута, 31 секунда (17.02.2012 - 14:34) WisesT написал(а):
похоже мы друг друга не поняли, или Вы прочли моее сообщение до того как я отредатировал "перепиши" - "перепишу"

Спустя 17 минут, 5 секунд (17.02.2012 - 14:52) inpost написал(а):
stripos !== FALSE - для проверки того, есть ли в строке запись "Приоритет"

Спустя 45 минут, 59 секунд (17.02.2012 - 15:38) WisesT написал(а):
да уж. для меня это темный лес. вариантов вижу накинули кучу. а реализовать - у меня ручки в попке)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.