首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >级别/组标签系统?

级别/组标签系统?
EN

Stack Overflow用户
提问于 2013-07-23 15:57:57
回答 1查看 135关注 0票数 1

我在一个登录系统上工作,并有一个基本的管理员/级别的系统在它实施。现在,级别只是数字(1-9)。然而,我确实将它们标记为不同的名称或组。例如,1=member、2=Supporter等。我还有一个成员列表,其中显示了用户id、级别和上次活动的时间。然而,它只显示id的数字(正如预期的那样)。我的问题是,我如何设置它,使数字最终在成员列表上显示名称/组?感谢进阶,Josh

下面是表的代码:

代码语言:javascript
复制
<?php 

    include("include/session.php");


function displayUsers(){
   global $database;
   $q = "SELECT username,userlevel,email,timestamp "
       ."FROM ".TBL_USERS." ORDER BY userlevel DESC,username";
   $result = $database->query($q);
   /* Error occurred, return given name by default */
   $num_rows = mysql_numrows($result);
   if(!$result || ($num_rows < 0)){
      echo "Error displaying info";
      return;
   }
   if($num_rows == 0){
      echo "Database table empty";
      return;
   }
   /* Display table contents */
   echo "<table align=\"left\" border=\"1\" cellspacing=\"0\" cellpadding=\"3\">\n";
   echo "<tr><td><b>Username</b></td><td><b>Level</b></td><td><b>Last Active</b></td></tr>\n";
   for($i=0; $i<$num_rows; $i++){
      $uname  = mysql_result($result,$i,"username");
      $ulevel = mysql_result($result,$i,"userlevel");
      $time   = mysql_result($result,$i,"timestamp");

      echo "<tr><td>$uname</td><td>$ulevel</td><td>$time</td></tr>\n";
   }
   echo "</table><br>\n";
}
?> 

我的“数组”:

代码语言:javascript
复制
<?php echo $form->error("upduser"); ?>
<table>
<form action="adminprocess.php" method="POST">
<tr><td>
Username:<br>
<input type="text" name="upduser" maxlength="30" value="<?php echo $form->value("upduser"); ?>">
</td>
<td>
Level:<br>
<select name="updlevel">
<option value="1">Member
<option value="2">Supporter
<option value="3">Donor
<option value="4">VIP
<option value="5">Veteran
<option value="7">Co-Founder
<option value="8">Founder
<option value="9">Admin
</select>
</td>

我只需要用代码设置一个数组的帮助

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-23 16:42:09

您应该在数据库中添加一个包含级别信息(id和name)的表,然后在查询中使用连接来获取包含用户详细信息的name。

另一种解决方案在我看来不太可取,那就是对数组进行硬编码,并显示相应的级别名称:

代码语言:javascript
复制
function displayUsers(){
    $levels = array('1'=>'Member','2'=>'Supporter','3'=>...);
    //do_query
    //loop results
    $ulevel = $levels[mysql_result($result,$i,"userlevel")];
    //continue loop
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17804516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档