通过从php中读取数据库中的值来更改css

时间:2018-03-03 10:23:25

标签: php html css mysql database

我正在尝试动态更改我的CSS。我的css值应该来自数据库。我的数据库中有一个名为goals的{​​{1}}表,其中包含orderid

以下是我正在使用的代码:

goal_1

我想让标记<?php $conn = mysqli_connect('localhost','root','','order'); $query1 = "SELECT * FROM `goals`"; $result = mysqli_query($conn, $query1); while ($row = mysqli_fetch_array($result)) { $width = $row["goal_1"]; `// storing value in a variable from db.` } ?> <!DOCTYPE html> <html> <head> <title>project-1</title> <link rel="stylesheet" type="text/css" href="style.php"> </head> <body class="container"> <div> <h4>Goal_1</h4> <h5><?php echo $width ?></h5> // this value is supposed to came from db. <hr align="left" class="goal goal_1"> </div> </body> </html> 的宽度动态化。假设<hr>的值来自db goal_1。现在,2的宽度应为<hr>。为此,我使用的是2px文件。

style.php

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

尝试更改

.goal_1{
    width: <?php $width ?>px;
}

.goal_1{
    width: <?php echo $width; ?>px;
}

也可能

<h5><?php echo $width ?></h5>

<h5><?php echo $width; ?></h5>/* trailing semi-colon */

-

可能的解决方法并不意味着将数据库代码放在style.php中,而是使用会话变量,该变量可以填充在index.php中并在style.php中可用

所以,例如:

<?php
    /* index.php */
    session_start();

    $_SESSION['style']=(object)array(
        'h1'    =>  (object)array('color'=>'red','font-size'=>'1.25rem'),
        'hr'    =>  (object)array('width'=>'500px'),
    );
?>
<html>
    <head>
        <title>Dynamic styles</title>
        <link rel='stylesheet' href='style.php' />
    </head>
    <body>
        <h1>Dynamic style</h1>
        <hr />
    </body>
</html>

<?php
    /* style.php */
    session_start();
    if( !empty( $_SESSION['style'] ) ){

        $obj=$_SESSION['style'];

        $h1=$obj->h1;
        $hr=$obj->hr;



    }

?>
h1{
    color:<?php echo $h1->color; ?>;
    font-size:<?php echo $h1->{'font-size'}; ?>
}
hr{
    width:<?php echo $hr->width;?>;
}