我有这样的代码,它可以查找登录者并显示用户名及其成员状态。
while ($row = mysqli_fetch_assoc($whoisloggedin)) {
$usersArray = $row['status'];
$usersArray2 = $row['username'];
echo '<pre>';
echo $usersArray," ",$usersArray2;
echo '</pre>';
}
现在显示4个用户名,因为有4个用户登录,我想知道是否可以更改文本颜色。所以它现在可能会说"管理员Kenazz"或"VIP ryemck",我想知道我是否能做到"管理员"是红色的,"VIP"是金色的等等?
I
您可以这样做。
while ($row = mysqli_fetch_assoc($whoisloggedin)) {
$usersArray = $row['status'];
$usersArray2 = $row['username'];
if ($usersArray == 'Admin') {
$colour = 'red';
}
else if ($usersArray == 'VIP') {
$colour = 'gold';
}
echo '<p style="color: '.$colour.'">'.$usersArray.' '.$usersArray2.'</p>';
}
尝试应用检查
if($row['somthing'] == 'Admin') {
echo '<span style="color:red">'.$row['username'].'</span>';
}
else if($row['somthing'] == 'VIP') {
echo '<span style="color:#fff">'.$row['username'].'</span>';
}
else {
echo '<span style="color:#f00">'.$row['username'].'</span>';
}
等等…
最简单的方法是使用替换函数或命名数组键:
$rename=array("Admin"=>"<span style='color:red'>"
,"VIP"=>"<span style='color:yellow'>");
while ($row = mysqli_fetch_assoc($whoisloggedin)) {
$usersArray = $row['status'];
$usersArray2 = $row['username'];
echo '<pre>';
echo $rename[$usersArray].$usersArray" ".$usersArray2."</span>";
echo '</pre>';
}
现在使用替换功能的第二个变体
$find=array("Admin","VIP");
$replace=array("<span style='color:red'>Admin"
,"<span style='color:yellow'>VIP");
while ($row = mysqli_fetch_assoc($whoisloggedin)) {
$usersArray = $row['status'];
$usersArray2 = $row['username'];
echo '<pre>';
echo str_replace($find,$replace,$usersArray)." ".$usersArray2."</span>";
echo '</pre>';
}
假设这是HTML输出,而不是控制台,您可以尝试类似的方法:
while ($row = mysqli_fetch_assoc($whoisloggedin) ) {
$usersArray = $row['status'];
$usersArray2 = $row['username'];
print '<pre>';
switch( $usersArray ) {
case 'something':
$color = "red";
break;
case 'somethingelse':
$color = "blue"
break;
default:
$color = "white";
break;
}
print '<span style="color: '.$color.'">'.$usersArray.' '.$usersArray2.'</span>';
print '</pre>'
}
显然,最好将style
标记替换为类,并将颜色添加到CSS中,例如
print '<span class="'.$color.'">';
带有类似的CSS行
span.blue { color: blue; }
编辑:根据@David Jones解决方案合并$color变量