首页 > 解决方案 > 如何在数据库中的 PHP 中使用内联 CSS

问题描述

我正在制作一个人们可以发布文章的网站,我希望用户能够选择背景颜色和字体颜色,但我不能使用内联 CSS 作为颜色,因为双引号在十六进制代码之前结束。

<?php
$host = "localhost";
$username = "root";
$password = "";
$dbname = "bulletin_board";

//Create connection
$connection = new mysqli($host, $username, $password, $dbname);

//Check connection
if ($connection->connect_error) {
    die("Connection failed: " . mysqli_connect_error());
}
$sql = "SELECT id, title, content, bg_color FROM cards";
$result = $connection->query($sql);

if ($result->num_rows > 0) {
//data output of each row
    while ($row = $result->fetch_assoc()) {
        echo "<div class=card style=background-color: " . $row["bg_color"] . "><h2>" . $row["title"] . "</h2>" . "<p>" . $row["content"]. "</p>" . "</div>";
            }
    } else {
        echo "0 results";
    }
?>

我怎样才能使十六进制颜色代码显示在引号内?

Chrome 显示问题

标签: phphtmlcss

解决方案


所以你混合使用单引号和双引号,这样内引号就不会过早地终止外引号。

    echo "<div class='card' style='background-color: " . $row["bg_color"] . "'>
            <h2>" . $row["title"] . "</h2>" . 
            "<p>" . $row["content"]. "</p>" . 
        "</div>";
}

或帮助使其更具可读性和可维护性

    echo "<div class='card' style='background-color:$row[bg_color]'>
            <h2>$row[title]</h2>
            <p>$row[content]</p> 
        </div>";
}

推荐阅读