【发布时间】:2013-04-06 11:42:17
【问题描述】:
我有一个数据库,在那个数据库中我有一个ipbans 表,然后我还有一个用户表。 users 表有一个名为 lastip 的列,ipbans 表有一个名为 ip 的表。
我需要将 lastip 与 ip 列进行比较,如果它们都匹配以显示数据,我已经在 mysql 中完成了它,但我不知道如何将它添加到我现有的 while 循环中以查找用户是否是否被禁止。
SELECT
IF((SELECT INET_NTOA(b.ip) FROM ipbans AS b WHERE INET_NTOA(b.ip) = p.LastIP) IS NULL, concat('<font color=blue>', p.LastIP, '</font>'), concat('<font color=red>', p.LastIP, '</font>')) AS IPv4
FROM players AS p WHERE p.Banned = 1
如果匹配,则使 IP 变为蓝色,如果不匹配,则使 IP 变为红色,但我想用用户名回显此数据。
编辑:
$sql = mysql_query("SELECT * FROM `players` WHERE `Banned` = 1");
while($row = mysql_fetch_array($sql)) {
$username = $row['Username'];
$lastip = $row['LastIP'];
$level = $row['Level'];
echo "<tr>";
echo "<td>$username</td>";
if ($lastip > 2){
echo "<td>$lastip</td>";
} else {
echo '<td>IP not found in IPBans!</td>';
}
echo "<td>$level</td>";
echo "<td>Location</td>";
echo "</tr>";
}
我目前将上述内容作为我的查询,它进入玩家表并列出被禁止的玩家,从那里我想获取他们登录的最后一个 IP(已经使用 LastIP 列登录)和我想将它与 ipbans 表进行比较,只显示 IP 与 ipbans 表和 LastIP 匹配的用户。
【问题讨论】:
-
添加列
username? -
我已经有一个用户名列,你不明白我的问题我想将用户表中lastip列中的IP地址与ipbans表中'ip'列中的IP进行比较并且只显示最终结果。
标签: php mysql sql if-statement while-loop