我正在努力开发一个小型,简单(对大多数人我很确定)的项目。简而言之,有一个名为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
答案 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列放在所有结果的前面。
我不确定你为什么要回击,你可能不得不再添加它们。