SQL-Format. Das Konvertieren einer IP-Adresse in IP-Nummer
Die Tabelle worldip enthält Felder start, end und code. Jede Zeile entspricht einem Netzwerk. start und end sind integer-Felder mit IP-Nummern, code enthält zweibuchstabigen Kode, z.B. "DE".
Das Konvertieren einer IP Adresse in IP Nummer geschieht nach folgender Formel:
Zum Beispiel, IP-Adresse 91.121.147.207 wird in IP-Nummer 1534694351 konvertiert
Der Kode ist aus der Datenbank mit folgender Anfrage zu bekommen:
Wenn Sie API benutzen (um die aktuellsten Daten zu bekommen), können Sie die Tabelle mit den Ländernamen installieren.
Oder so:
Das Konvertieren einer IP Adresse in IP Nummer geschieht nach folgender Formel:
IP Number = 16777216*A + 65536*B + 256*C + D
hier IP Address = A.B.C.D
In PHP gibt es Funktion ip2long($ip_address), die IP-Nummer zurückgibt.Zum Beispiel, IP-Adresse 91.121.147.207 wird in IP-Nummer 1534694351 konvertiert
Der Kode ist aus der Datenbank mit folgender Anfrage zu bekommen:
SELECT code FROM worldip WHERE (start<=IP_NUMBER and end>=IP_NUMBER)
Wenn Sie die zweite Tabelle mit den Ländernamen installieren, erhalten Sie den Kode und das Land mit einer Anfrage gleichzeitig:
SELECT wl.code,wl.country FROM worldip w LEFT JOIN worldip_land wl
ON (w.code=wl.code) WHERE (w.start<=IP_NUMBER and w.end>=IP_NUMBER)
oder nur den Name des Landes:
SELECT wl.country FROM worldip_land wl LEFT JOIN worldip w
ON (w.code=wl.code) WHERE (w.start<=IP_NUMBER and w.end>=IP_NUMBER)
Wenn Sie API benutzen (um die aktuellsten Daten zu bekommen), können Sie die Tabelle mit den Ländernamen installieren.
SELECT country FROM worldip_land WHERE code="GB"
gibt zurück "United Kingdom" oder mit deutscher Version "Vereinigtes Königreich"Oder so:
SELECT code FROM worldip WHERE
(start<=inet_aton('77.77.77.77') and end>=inet_aton('77.77.77.77'))Kommentar schreiben
EnglishDeutschРусский
mgyk
02 Sep 2008 06:09#12Русский
02 Sep 2008 06:09#12Русский
Дима
02 Sep 2008 12:09#13Русский
02 Sep 2008 12:09#13Русский
Alrond 02 Sep 2008 13:09#14Русский
Ncs
03 Sep 2008 05:09#15Русский
03 Sep 2008 05:09#15Русский
deeonis
04 Mär 2009 10:03#672Русский
04 Mär 2009 10:03#672Русский
Alrond 08 Mär 2009 17:03#690Русский
