Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
2 / 2 / 1
Регистрация: 27.10.2013
Сообщений: 80

Изменить цвет выводимого поля из БД

24.07.2015, 00:12. Показов 2686. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Есть следующий код, выводящий данные из БД. Так вот, я хочу сначала проверить значение, а затем присвоить тексту цвет в зависимости от того что в этом тексте написано. Вот часть кода, там будут небольшие комментарии (код НЕ МОЙ, найден на просторах интернета, работает, нужно добавить вышеописанный функционал)
PHP
1
2
3
4
5
6
7
8
9
10
11
12
try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $stmt = $conn->prepare("SELECT * FROM clients ORDER BY status ASC");
    $stmt->execute();
 
    // set the resulting array to associative
    $result = $stmt->setFetchMode(PDO::FETCH_ASSOC); 
    foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) {
            echo $v; //Как я разобрался, переменная $v это и есть переменная, отвечающая за содержание строки.(Если после таблицы просто записать echo $v; то я как раз получаю текст, содержание которого надо проанализировать и выдать соответствующий цвет).
    }
}
Что пытался сделать я
PHP
1
2
3
4
5
6
7
8
9
$result = $stmt->setFetchMode(PDO::FETCH_ASSOC); 
foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) {
     if ($v == "Отправлен"){ //Проверяю что внутри переменной $v
               echo '<span style="color:#FF0000; font-size: 18px;">'.$v.'</span>'; //Вывожу переменную с нужным мне цветом.
      }
      else
              echo '<span style="color:#FFFFFF; font-size: 18px;">'.$v.'</span>'; //В ином случае вывожу с другим цветом.
}
Однако, ничего не происходит(а должно?). Пожалуйста, помогите разобраться с кодом.
Добавлено через 37 минут
Вот, на всякий случай, весь код рисования таблицы.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
echo "<table style='border: solid 1px black;'>";
echo "<tr><th>Id</th><th>Firstname</th><th>Lastname</th></tr>";
 
class TableRows extends RecursiveIteratorIterator { 
    function __construct($it) { 
        parent::__construct($it, self::LEAVES_ONLY); 
    }
 
    function current() {
        return "<td style='width:150px;border:1px solid black;'>" . parent::current(). "</td>";
    }
 
    function beginChildren() { 
        echo "<tr>"; 
    } 
 
    function endChildren() { 
        echo "</tr>" . "\n";
    } 
} 
 
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";
 
try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $stmt = $conn->prepare("SELECT id, firstname, lastname FROM MyGuests"); 
    $stmt->execute();
 
    // set the resulting array to associative
    $result = $stmt->setFetchMode(PDO::FETCH_ASSOC); 
    foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) { 
        echo $v;
    }
}
catch(PDOException $e) {
    echo "Error: " . $e->getMessage();
}
$conn = null;
echo "</table>";
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.07.2015, 00:12
Ответы с готовыми решениями:

Изменить цвет выводимого текста
Добрый вечер! Как изменить цвет текста? Использую Code::Blocks и Windows 7 x64. Такой способ не работает: #include&lt;conio.h&gt; ...

Изменить цвет выводимого текста
Здравствуйте помогите вывести текст другим цветом и фоном, код под DOS .model tiny .code .286 ORG 100h start: mov ax,3 int...

изменить скриптом цвет поля.
всем привет задача следующая(, в хелпе не нашел, на форуме тоже(может плохо искал)): имеем базу с документами, ночью агентик...

2
20 / 20 / 12
Регистрация: 27.04.2012
Сообщений: 145
24.07.2015, 02:37
Однако, ничего не происходит

Что именно ничего не происходит? Прям вообще ничего? Или цвет не меняется? Может ошибку какую выдает

Добавлено через 3 минуты
На первый взгляд, два варианта:

или в переменной $v нет того, что ты там ищешь, и всегда выводится по else, где color:#FFFFFF; , то есть белый. Его может быть не видно просто.
Либо где-то ошибка.

Ну или может быть так, что где-то еще у тебя на странице указывается цвет, что перебивает эту настройку. Но это вряд ли, вроде тут приоритет должен быть выше.

Добавлено через 2 минуты
Кроме того, стоит убедиться, что сравнение в if ($v == "Отправлен")

и данные в Бд находятся в одной кодировке. Может возникнуть проблема, если скрипт, к примеру, сохранен в кодировке ANSI , а в базе лежит utf-8

Ну или в этом роде
0
2 / 2 / 1
Регистрация: 27.10.2013
Сообщений: 80
24.07.2015, 17:57  [ТС]
if ($v == "Отправлен") сделать отдельно пытался, результата ноль(вообще ничего не выводит при этом условии), я так думаю что все-таки в $v хранится что-то другое. Насчет белого цвета. Это я от балды код написал, цвет там другой совсем вписан) Кодировка одна и та же, дело не в ней.

Видать эта тайна останется без разгадки)

Добавлено через 30 минут
Задачу РЕШИЛ-ТАКИ. Оказалось глупо и просто. Как сразу не догадался - не знаю. Просто в mySQL запросе надо поменять на значение, включающее в себе так мне необходимый код цвета.
PHP
1
2
3
$sent = '<span style="color:#32CD32; font-size: 22px;"><strong>Отправлен</strong></span>';
$stmt = $conn->prepare("UPDATE `clients` SET `Status`= '$sent' WHERE `Status` = 'Отправлен'");
$stmt->execute();
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.07.2015, 17:57
Помогаю со студенческими работами здесь

Изменить цвет у текстового поля
Мне нужно изменить синий цвет бордера инпута на чёрный, как сделать??

Изменить цвет поля в лент форме
Как поменять цвет полям с отрицательными значениями.

Как изменить цвет поля ввода (CEdit)?
Как изменить цвет фона и текста в поле ввода (CEdit)? Например, фон синий,а введённый текст желтый

Макрос раздела отчета: Хочу изменить цвет шрифта у поля
Есть таблица «информация о сотрудниках», содержит роля: код сотрудника, ФИО, Оклад. --Есть сформированный в мастере отчёт по ней,...

При нажатии кнопки изменить текст и цвет текстового поля
Помогите, не работал с этим языком, а нужно срочно сделать один элемент для проги. В общем, при нажатии кнопки должен меняться текст и цвет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru