У меня есть следующий PHP-код, который заполняет таблицу из базы данных mySQL
<?php
while($res = mysqli_fetch_array($result)) {
echo "<tr>";
echo "<td>".$res['id']."</td>";
echo "<td>".$res['name']."</td>";
echo "<td>".$res['number']."</td>";
echo "<td>".$res['nid']."</td>";
}
?>
Как с помощью CSS изменить цвет фона для поля nid?
Я пробую следующее, но это не работает:
echo "<td style = "background-color:red" >".$res['nid']."</td>";
Или просто избегайте двойных кавычек, т.е. `echo" <td style = \ "background-color: red \"> ". $ Res ['nid']." </td> ";






Попробуй это
echo "<td style='background-color:red' >".$res['nid']."</td>";
Использовать этот:
echo "<td style='background-color:red'>".$res['nid']."</td>";
Вы можете использовать любой из следующих примеров.
Используйте разные кавычки для атрибутов
echo '<td style = "background-color:red">'.$res['nid'].'</td>';
Или используйте Сложный (фигурный) синтаксис
echo "<td style='background-color:red'>{$res['nid']}</td>";
Или вы можете избежать двойных кавычек в строке
echo "<td style=\"background-color:red\">".$res['nid']."</td>";
Или используйте несколько техник
echo "<td style=\"background-color:red\">{$res['nid']}</td>";
Обратите внимание, что {} можно использовать только в двойных кавычках или string.
Ваш код не работает, поскольку каждый раз, когда вы используете одну и ту же цитату после первого выхода из строки. Итак, с:
"<td style = "background-color:red" >".$res['nid']."</td>";
PHP считает, что "<td style = " - это строка, а background-color:red - это код PHP, но это не так. Вы также можете увидеть это в выделении кода. Возможно, этот вопрос поможет вам немного лучше это объяснить.
Забавно, что все предлагают решение, но не объясняют, почему оно не работает. Если вы объясните, как смешивать цитаты или не смешивать, я поддержу этот ответ.
Я думаю, вам нужно экранировать символ ". Экранирующий символ \, поэтому вы должны использовать его в качестве префикса для вашего". Например:
<?php
$val1 = "I want this normal";
$val2 = "I want this normal";
$val3 = "I want this normal";
$val4 = "I want this RED";
echo "<table><tr>";
echo "<td>".$val1."</td>";
echo "<td>".$val2."</td>";
echo "<td>".$val3."</td>";
echo "<td style=\"background-color:red;\" >".$val4."</td>"; //Change the " for ' or escape " with \
echo "</tr></table>"; //And don't forget to close this tag too ;)
?>
В вашем коде это будет примерно так:
<?php
while($res = mysqli_fetch_array($result)) {
echo "<tr>";
echo "<td>".$res['id']."</td>";
echo "<td>".$res['name']."</td>";
echo "<td>".$res['number']."</td>";
echo "<td style=\"background-color:red\" >".$res['nid']."</td>";
} ?>
Вместо этого используйте
'background-color:red'