Ähnliche IPs finden (als int gespeichert)

Catscrash

Mitglied
Hi,
ich habe viele IP-Adressen die mittels ip2long in einer MySQL-Tabelle gespeichert wurden.
ich würde jetzt gerne anhand einer IP-Adresse diejenigen suchen wo es möglich ist das sie vom selben Benutzer stammen, also wo z.B. die ersten drei Gruppen gleich sind. (Ja, ich weiß es ist nicht sicher das sie vom selben Benutzer stammen und der selbe Benutzer kann auch andere IP's bekommen, aber es wäre trotzdem schonmal ein guter Anhaltspunkt)

Klar, ich könnte jetzt alle 255 möglichen Adressen in integer umwandeln und dann durch die Datenbank jagen, aber das muss doch irgendwie einfacher gehen oder?

Dankeschön für jeden Tipp
Catscrash
 
PHP:
$sql_query_string = "SELECT * FROM tabelle WHERE ip LIKE '".$ersten3blöckederip."%"';
so müsste bzw. könnte es funktionieren falls ich dich richtig verstanden habe

mfg Spikaner
 
naja so einfach ist es ja nicht, da die nicht als ip's sondern als integer gespeichert sind, aber ich habs jetzt erstmal so gemacht

PHP:
$search = ip2long($search);
$search = substr($search,0,-5);
$search = $search."%";
$qry= "SELECT `blubb`FROM `table` where `ipint` like '$search'";

das funktioniert schonmal ganz gut, falls noch jemand eine bessere idee hat, immer her damit :-)
 
Da es ein Zahlenbereich ist, kannst du auch Folgendes machen:
PHP:
$query= "SELECT `blubb` FROM `table` WHERE `ipint` BETWEEN ".ip2long('127.0.0.1')." AND ".ip2long('127.0.0.225');
 
Zurück