我需要设置回显输出的样式。Fx
如果数字是1,它应该是蓝色
如果数字是6,它应该是绿色
我不太确定是否要这样做,因为如果我对div标记进行样式设置,它就是所有的数字,并且我需要对一些specifik数字进行样式设置。现在有些数字有不同的填充。我认为如果应该是
if($number == 1) {
//some code
}
还是完全错了?
HTML:
<div id="show" >
<div class="numberheader">
<p>Tal</p>
</div>
<ul class="latestnumbers" style="list-style:none;padding-top: 60px;">
<?php include('response.php');?>
</ul>
</div>
PHP:
<?php
//echo "kuagdjagd";
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
//include('session.php');
// Selecting Database
include 'dbconfic.inc.php';
$pad_left_values = array(0 => 19, 1 => -1, 2 => 20, 3 => -1, 4 => 38, 5 => -1, 6 => 40, 7 => 20, 8 => 20, 9 => 40, 10 => 20, 11 => 20, 12 => 20);
// '?' er placeholders for variabler
$stmt = $mysqli->prepare("SELECT * FROM numbertable ORDER BY num_id DESC LIMIT 9;");
// execute prepared statement
$stmt->execute();
// gør variabler klar:
$number = null;
$n_id = null;
/* bind result variabler */
$stmt->bind_result($n_id, $number);
/* fetch values for hver row, her kun 1 row dog: */
while ($stmt->fetch()) {
$pad = ($number >= 1 && $number <= 12? $pad_left_values[$number]: $pad_left_values[0]);
echo "<li><div style='padding-left: ".$pad."px;'>$number</div></li>";
}
// luk statement
$stmt->close();
// luk connection
$mysqli->close();
?>
您可以像使用Paddings
一样使用数组。
$colorArr = Array(0=>"black", 1=>"blue", 2=>"yellow", /** ... **/, 6=>"green" /** ... **/);
/** ... **/
while ($stmt->fetch()) {
$pad = ($number >= 1 && $number <= 12? $pad_left_values[$number]: $pad_left_values[0]);
$col = ($number >= 1 && $number <= 12? $colorArr[$number]: $colorArr[0]);
echo "<li><div style='padding-left: ".$pad."px; color: ".$col."'>$number</div></li>";
}
另外,为了使代码更加动态,您应该用$number < count($pad_left_values)
替换$number <= 12
条件。通过这种方式,您可以添加更多的填充/颜色值,而不必担心在代码中设置正确的数字。
更换
echo "<li><div style='padding-left: ".$pad."px;'>$number</div></li>";
带
echo '<li><div class="color_'.$number.'" style='padding-left: ".$pad."px;'>$number</div></li>';
并为编写CSS
.color_1{
color:blue;
}
.color_6{
color:green;
}