Отображение таблицы b3 для групп
Я работаю над небольшим, легким (для большинства из вас, я уверен) проектом здесь. Короче говоря, есть административный инструмент под названием B3, который хранит данные в mysql. Я собрал небольшой php, чтобы захватить все уровни администратора и показать краткую информацию. Инструмент предназначен для простой проверки того, кто имеет возможности администратора и на каком уровне. Пара дополнительных деталей, по общему признанию, пух, который, вероятно, не останется (для меня это больше доказательство концепции).
То, что у меня работает, прекрасно работает и делает, как я обрисовал выше. Тем не менее, я хотел бы сделать еще один шаг вперед и сделать его более "удобным для пользователей". Существует вторая таблица, которая содержит числовой уровень, указанный в group_bits, и присваивает ему удобное имя, например, 16 может быть модератором.
Я знаю, что это, вероятно, дошкольный уровень для большинства из вас, но я искал все и просто не знаю, как правильно сформулировать то, что я хочу сделать..
По сути, при отображении моего вывода я хочу, чтобы он "Я ДУМАЛ", делал foreach для битов группы + и отображал правильный уровень доступа, а не только идентификатор group_bits. В идеале это вытащило бы эту информацию из таблицы групп, где идентифицированы номер и имя, но я бы с радостью согласился жестко закодировать ее, что-то вроде "если $group_bits=16, то $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
(Цифра в таблице групп называется id, но в таблице клиентов она называется group_bits - они одинаковые, но под разными именами. Любая помощь будет принята с благодарностью!
151
1 ответ
$query="SELECT g.name
,c.* FROM clients c
JOIN groups g
WHERE group_bits >'1'
AND c.group_bits=g.group_bits";
Поместит столбец groups.name перед всеми вашими результатами.
Я не совсем уверен, почему вы отступаете, возможно, вам придется добавить их снова.