2012-11-08 91 views
1

从db获取用户帐户类型时遇到一些问题。 我在db上创建了一个名为acc_type的列,它检查用户acc_type是否为1或更高时突出显示用户名。在CSS中突出显示PHP用户帐户类型

我写了这段代码,但它突出显示所有用户名为红色管理员。

colors meaning: 
Blue = Regular member = 0 
Red = admin = 1 
Green = Mod = 2 
Orange = Super User = 3 

代码在这里

<?php 
if($dn5['acc_type'] =='0') 
{ 
echo '<style> 
.acc{ 
color:blue; 
} 
</style>'; 
}else if($dn5['acc_type']=='1'){ 
echo '<style> 
.acc{ 
color:red; 
} 
</style>'; 
}else if($dn5['acc_type']=='2'){ 
echo '<style> 
.acc{ 
color:green; 
} 
</style>'; 
} 
?> 
<span class="acc"><?php echo $username;?></span> 
+0

听起来像是'$ DN5 [ 'acc_type']'等于 '1' 即可。尝试使用'echo $ dn5 ['acc_type']'来查看打印内容,并验证它实际上不是'1' – burmat

+0

从acc_type获取数字。像:如果它的管理员然后acc_type是1,对于国防部是2 –

回答

2

你检查你传递什么样的价值观为$ DN5 [ 'acc_type']?

同时,你的代码是相当重复的,你可以用的东西大大简化它像

switch($dn5['acc_type']) { 
    case 1: $color = 'red'; break; 
    case 2: $color = 'green'; break; 
    default: $color = 'blue'; 
} 
echo "<style>.acc { color: $color; }</style>"; 
+0

我使用的是: '$ req = mysql_query('从用户选择acc_type其中id =''。$ id。'''); $ dn5 = mysql_fetch_array($ req)'。 $ acc_type数据类型是Int 代码没有工作 –

+0

我对用户配置文件页面使用相同的代码,它工作正常。 代码:http://pastebin.com/Wsdn3E18 –

+2

这不是一个PHP问题,它是一个CSS问题。他正在输出多个