За последние 24 часа нас посетили 16823 программиста и 1644 робота. Сейчас ищут 947 программистов ...

Условное форматирование текста.

Тема в разделе "PHP для новичков", создана пользователем Sice, 16 июн 2014.

  1. Sice

    Sice Активный пользователь

    С нами с:
    16 фев 2012
    Сообщения:
    45
    Симпатии:
    0
    Друзья, не могу додумать как осуществить условное форматирование текста.
    Смысл таков: Из базы данных достаются записи, в одной из колонок в любом случае будет одно из трёх слов - это Красный, Жёлтый, Зелёный. Как сделать, чтобы Красный красился красным цветом, желый - жёлтым, а зелёный зеленым ? Не добавлять же в БД записи вида <font color="red">Красный</font>.. это же не правильно будет, насколько я понимаю. Подскажите, как осуществить можно это? Заранее благодарю.
     
  2. Хыиуду

    Хыиуду Активный пользователь

    С нами с:
    3 июн 2014
    Сообщения:
    618
    Симпатии:
    5
    Вариант 1. Втупую.
    Код (Text):
    1.  
    2. $query =... // Тут какой-то запрос к БД
    3. $row = mysql_fetch_assoc($query);
    4. $colors = array ('Красный' => 'red', 'Желтый'=>'yellow', 'Зеленый'=>'green');
    5. echo "<font color='".$colors[$row['color']]."'>Блаблабла</font>";
    Вариант 2, более правильный: хранить в БД html-название цвета. Использовать кириллицу как ключ - это очень плохой фэн-шуй. Можно в столбце таблицы хранить, например, red, green или #F0EC62, и писать <font color=$row[color]>.
    Вариант 3, более универсальный: хранить в БД имя css-класса, который будет присваиваться очередной строке, а уж в css определять хоть цвет, хоть начертание, хоть тень, хоть размер.