用php从ip范围中找到免费的IP地址

时间:2015-08-29 18:14:45

标签: php mysql

我有2张桌子

table1 ip_pool - 从10.0.0.2到10.0.0.254

table2 users - user1 ip_address 10.0.0.2,user2 ip_address 10.0.0.3

如何找到下一个免费的ip示例10.0.0.4

尝试了这段代码,但它向我展示了所有IP

function ip_range($start, $end)
{
$start = ip2long($start);
$end = ip2long($end); 
return array_map('long2ip', range($start, $end) );
}

$range_one = "10.0.0.2";
$range_two = "10.0.0.254";
print_r( ip_range($range_one, $range_two) );

1 个答案:

答案 0 :(得分:0)

我认为这个SQL可以满足您的需求:

select p.*
from ip_pool p
where p.ip_address not in (select u.ip_address from users u)
order by p.id_address
limit 1;