显示组的b3表

时间:2012-12-07 22:32:38

标签: php mysql b3

我正在努力开发一个小型,简单(对大多数人我很确定)的项目。简而言之,有一个名为B3的管理员工具,它将数据存储在mysql中。我拼凑了一个小的PHP来抓住所有级别的管理员并显示简短的细节。该工具旨在轻松检查谁具有管理功能,以及它们的级别。这对夫妇的额外细节无可否认,这可能不会留下来(更多的是概念验证对我而言。)

我的工作得很好,就像我上面概述的那样。但是,我想更进一步,让它更“用户友好”。第二个表包含group_bits中列出的数字级别,并为其分配一个用户友好名称,例如16可能是主持人。

我知道这对你们大多数人来说可能是学前班级,但我已经搜遍了所有人,并且不知道我想要做的正确措辞是什么......

基本上,在显示我的输出时,我想让它“I THINK”对组+位做一个foreach并显示正确的访问级别而不仅仅是group_bits id。理想情况下,它会从teh groups table中获取该信息,其中数字和名称已被识别,但我会很乐意解决它的硬编码,类似于“if $ group_bits = 16 then $ group =”主持人“)无论做什么工作,大声笑..通常会更好地从表本身得到它,对,如果它改变了,这个文件不会被改变,但我感觉可能会更多困难?下面是一些有用的细节,以及我所拥有的:

我的php:

//We connect to a   database using the mysql_connect command.
mysql_connect($dbhost, $dbuser, $dbpass) or die(mysql_error()); 

//We select the database we are  going to use.
mysql_select_db("$dbname") or die(mysql_error()); 

//$query="SELECT * FROM clients ORDER BY name DESC";
$query="SELECT * FROM `clients` WHERE group_bits >'1'";

$result=mysql_query($query);
$num=mysql_numrows($result);  //Counts the rows in the table
echo "" .$screweditup ;
mysql_close();

?>
<table border="0" cellspacing="2" cellpadding="2">
    <tr>
        <td><font face="Arial, Helvetica, sans-serif">Player Name</font></td>
        <td><font face="Arial, Helvetica, sans-serif">B3 Level</font></td>
        <td><font face="Arial, Helvetica, sans-serif">Times Connected</font></td>
        <td><font face="Arial, Helvetica, sans-serif">Greeting Msg</font></td>
        <td><font face="Arial, Helvetica, sans-serif"></font></td>
    </tr>

<?php
$i=0;
while ($i < $num) {
    for each($
    $f1=mysql_result($result,$i,"name");
    $f2=mysql_result($result,$i,"group_bits");
    $f3=mysql_result($result,$i,"connections");
    $f4=mysql_result($result,$i,"greeting");

    //$f5=mysql_result($result,$i,"greeting");
?>

<tr>
    <td><font face="Arial, Helvetica, sans-serif"><?php echo $f1; ?></font></td>
    <td><font face="Arial, Helvetica, sans-serif"><?php echo $f2; ?></font></td>
    <td><font face="Arial, Helvetica, sans-serif"><?php echo $f3; ?></font></td>
    <td><font face="Arial, Helvetica, sans-serif"><?php echo $f4; ?></font></td>
    <td><font face="Arial, Helvetica, sans-serif"><?php echo $f5; ?></font></td>
</tr>

客户端是保存您看到的信息的表。 groups保存group_bits和实际组名所在的表。它看起来像这样(表视图:)

id               name                keyword
16               Admin               admin
8                Moderator           mod
0                Guest               guest

(groups表中的数字称为id,但在clients表中称为group_bits - 它们是同一个,但名称不同。 任何帮助将不胜感激!

151

1 个答案:

答案 0 :(得分:0)

$query="SELECT g.name
              ,c.* FROM clients c 
                   JOIN groups g 
        WHERE group_bits >'1' 
          AND c.group_bits=g.group_bits";

将groups.name列放在所有结果的前面。

我不确定你为什么要回击,你可能不得不再添加它们。