Benim sorunum şöyle bişey

Bir tabloda online olan yani online=1 olanları bulup bunların IP = adresini alıp aynı IP den girmiş kullanıcı isimlerini döktürmek istiyorum fakat aşağıdaki kodu yaptığımda tek IP'den 2 farklı kullanıcı ile girmişse 2'şer kez döküyor kullanıcıları, hatayı nerde yapıyorum ?

Bu arada durum sıfırdan büyük sayılar oluyor kullanıcıya göre değişiyor...

$sql1 = "select * from tablo1 where durum > '0' ";
$res1 = mysql_query($sql1);
while ($ipbulunan = mysql_fetch_array($res1))
{
$ipbu = $ipbulunan[18] ;

$sql = "select * from tablo1 where ip = '$ipbu'";
$res = mysql_query($sql);
$i2 = 0;
while ($ipbul = mysql_fetch_array($res))
{
if ($i2 % 2)
{
$kat1_renk[] = "tbl_light";
}
else
{
$kat1_renk[] = "tbl_light2";
}
$i2++;

$userler[] = $ipbul['loginname'];
$ipno[] = $ipbul['ip'];
$onlinemi = $ipbul[9];

if ($onlinemi > 0)
{
$online[] = "<font style=\"color:green\"><b>Online</b></font>";

}
if ($onlinemi == 0 )
{
$online[] = "<font style=\"color:#ff0000\"><b>Offline</b></font>";
}
}
}
__________________________________________________ ____