Подскажите пожалуйста: В mysql есть таблица: Название | Количество | Статус Я вывожу эту таблицу на html страницу: Код (Text): $result = mysqli_query($mysqli, $query) or die("ERORRRR " . mysqli_error($mysqli)); if($result) { $rows = mysqli_num_rows($result); echo "<div style='overflow-x:auto;'><table border=1><tr><th>Название</th><th>Количество</th><th>Статус</th></tr>"; for ($i = 0 ; $i < $rows ; ++$i) { $row = mysqli_fetch_row($result); echo "<tr>"; for ($j = 0 ; $j < 3 ; ++$j) echo "<td>$row[$j]</td>"; echo "</tr>"; } } Дизайн таблицы подтягивается из css: Код (Text): table { font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif; font-size: 14px; border-collapse: collapse; text-align: center; } th, td:first-child { background: #228B22; color: white; padding: 10px 20px; } th, td { border-style: solid; border-width: 0 1px 1px 0; border-color: white; } td { background: #90EE90; } th:first-child, td:first-child { text-align: left; } Как реализовать, что бы когда у какой нибудь строчки поле «статус» имело значение «2», то эта строчка отличалась по цвету от других, допустим была «красной»?
Спасибо Но пока ещё не понял... Строка echo ($row['$j]==2) ? "<tr class="tr_red">" : "<tr>"; В моем скрипте перед какой строкой должна быть? И скрипт PHP ругается: syntax error, unexpected 'tr_red'
ну на коленке писал ... вместо PHP: echo "<tr>"; ставим PHP: echo ($row[0]==2) ? "<tr class='tr_red'>" : "<tr>"; где 0 - индекс поля статус, я не знаю какое оно у вас по счету ну класс CSS уж сами сделайте
Спасибо за подробное разъяснение... Но всё равно не получается окрасить строчку, подскажите где я ошибся? PHP скрипт: Код (Text): $result = mysqli_query($mysqli, $query) or die("ERORRRR " . mysqli_error($mysqli)); if($result) { $rows = mysqli_num_rows($result); echo "<div style='overflow-x:auto;'><table border=1><tr><th>Название</th><th>Количество</th><th>Статус</th></tr>"; for ($i = 0 ; $i < $rows ; ++$i) { $row = mysqli_fetch_row($result); echo ($row[3]==2) ? "<tr class='tr_red'>" : "<tr>"; for ($j = 0 ; $j < 3 ; ++$j) echo "<td>$row[$j]</td>"; echo "</tr>"; } } CSS скрипт: Код (Text): table { font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif; font-size: 14px; border-collapse: collapse; text-align: center; } th, td:first-child { background: #228B22; color: white; padding: 10px 20px; } th, td { border-style: solid; border-width: 0 1px 1px 0; border-color: white; } td { background: #90EE90; } th:first-child, td:first-child { text-align: left; } .tr_red { tbody tr:nth-child { background-color: #ffff00; } } Вижу зеленую строчку, а должен видеть желтую...Так как статус = 2...
Понятно... Заменил Код (Text): echo ($row[3]==2) ? "<tr class='tr_red'>" : "<tr>"; На Код (Text): echo ($row[2]==2) ? "<tr class='tr_red'>" : "<tr>"; Не сработало...Всё равно строка зеленая... Проверил ради интереса, поставил произвольной кнопке class = 'tr_red', кнопка пожелтела... Не могу понять почему в таблице не срабатывает...
Потому что странно описан стиль для .tr_red. Почему бы просто не: Код (Text): tr.tr_red { background-color: red; } --- Добавлено --- Ещё в браузерах есть "инструменты разработчика". Помогают находить всякие несуразности. --- Добавлено --- Ещё про "инструменты".
Правую кнопки мыши нажмите на тоц строчке - исследовать код вроде, откроется в инспекторе, посмотрите - класс то добавляется? Если да - проблема в ксс, если нет в коде
Проблема в css... Я когда удаляю текст относительно таблицы: Код (Text): table { font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif; font-size: 14px; border-collapse: collapse; text-align: center; } th, td:first-child { background: #228B22; color: white; padding: 10px 20px; } th, td { border-style: solid; border-width: 0 1px 1px 0; border-color: white; } td { background: #90EE90; } th:first-child, td:first-child { text-align: left; } То строчка краснеет. Если возвращаю в css параметры для таблицы, строчка снова зеленая. Пока что не понял, каким именно образом, параметры css для таблицы, перекрывают параметры css для tr_red
Всё получилось, всем спасибо за помощь... Заменил в css Код (Text): td { background: #90EE90; } На Код (Text): tr { background: #90EE90; } После этого всё получилось