我有一个数据库,并在该数据库中有一个ipbans
表,然后我也有一个用户表。 users表有一个名为lastip
的列和ipbans
表有一个名为ip的表。PHP和MySQL比较数据
我需要比较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'? – Gntem
我已经有一个用户名列,你不明白我的问题 我想比较用户表lastip列中的IP地址与ipbans表'IP'列中的IP,并只显示最终结果。 – user2279125