[英]while loop and echo background color
I need to loop through my while loop, and echo the background color out that belongs to the specifik number. 我需要遍历while循环,并回显属于指定编号的背景色。 the variable $green is working, but I really dont know how to make the others work.
变量$ green正在工作,但是我真的不知道如何使其他工作。
I have a form field where I can put in my number, and to the number belongs a specifik background color, which is defined in the array. 我有一个可以在其中输入数字的表单字段,该数字属于特定的背景颜色,该颜色在数组中定义。
Can anybody see how I can finish my while loop? 有人可以看到我如何完成while循环吗?
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
//include('session.php');
// Selecting Database
include 'dbconfic.inc.php';
$green = array(0 => "#81c77d", 2 => "#81c77d", 3 => "#81c77d", 4 => "#81c77d", 7 => "#81c77d", 12 => "#81c77d", 15 => "#81c77d", 18 => "#81c77d", 19 => "#81c77d", 21 => "#81c77d", 22 => "#81c77d", 25 => "#81c77d", 26 => "#81c77d", 28 => "#81c77d", 29 => "#81c77d", 32 => "#81c77d", 35 => "#81c77d");
$darkgreen = array(0 => "#81e87c", 3 => "#81e87c", 12 => "#81e87c", 15 => "#81e87c", 26 => "#81e87c", 32 => "#81e87c", 35 => "#81e87c");
$white = array(6 => "#ffffff", 17 => "#ffffff", 34 => "#ffffff");
$red = array(5 => "#dfb07b", 8 => "#dfb07b", 10 => "#dfb07b", 11 => "#dfb07b", 13 => "#dfb07b", 16 => "#dfb07b", 23 => "#dfb07b", 24 => "#dfb07b", 27 => "#dfb07b", 30 => "#dfb07b", 33 => "#dfb07b", 36 => "#dfb07b");
$grey = array(1 =>"#ffffff", 9 => "#ffffff", 14 => "#ffffff", 20 => "#ffffff", 31 => "#ffffff");
// '?' is placeholders for variabler
$stmt = $mysqli->prepare("SELECT * FROM numbertable ORDER BY num_id DESC LIMIT 27;");
// execute prepared statement
$stmt->execute();
// Make variables ready
$number = null;
$n_id = null;
/* bind result variabler */
$stmt->bind_result($n_id, $number);
/* fetch values for each row*/
while ($stmt->fetch()) {
$voi = ($number = $green? $green[$number] : $green[0]);
echo "<li><div style='background-color: ".$voi."'>$number</div></li>";
}
// close statement
$stmt->close();
// close connection
$mysqli->close();
?>
** Updated (is one big array better?)** **更新(一个大阵列更好吗?)**
$property=array(
"green" => array(0 => "#81c77d", 2 => "#81c77d", 3 => "#81c77d", 4 => "#81c77d", 7 => "#81c77d", 12 => "#81c77d", 15 => "#81c77d", 18 => "#81c77d", 19 => "#81c77d", 21 => "#81c77d", 22 => "#81c77d", 25 => "#81c77d", 26 => "#81c77d", 28 => "#81c77d", 29 => "#81c77d", 32 => "#81c77d", 35 => "#81c77d"),
"darkgreen" => array(0 => "#81e87c", 3 => "#81e87c", 12 => "#81e87c", 15 => "#81e87c", 26 => "#81e87c", 32 => "#81e87c", 35 => "#81e87c"),
"white" => array(6 => "#ffffff", 17 => "#ffffff", 34 => "#ffffff"),
"red" => array(5 => "#dfb07b", 8 => "#dfb07b", 10 => "#dfb07b", 11 => "#dfb07b", 13 => "#dfb07b", 16 => "#dfb07b", 23 => "#dfb07b", 24 => "#dfb07b", 27 => "#dfb07b", 30 => "#dfb07b", 33 => "#dfb07b", 36 => "#dfb07b"),
"grey" => array(1 => "#ffffff", 9 => "#ffffff", 14 => "#ffffff", 20 => "#ffffff", 31 => "#ffffff")
);
You should change your code like below, a single =
is not used in condition. 您应该像下面那样更改代码,条件中不使用单个
=
。 for check two variable you should check it with ==
. 对于检查两个变量,应使用
==
检查。
also $number
is index of array, NOT array. $number
也是数组的索引, 不是数组的索引。
$voi = (isset($green[$number]) ? $green[$number] : $green[0]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.