Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mysql]explode
sazian
post
Post #1





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

Ostrzeżenie: (0%)
-----


Witam,
potrzebuje uzyskać coś takiego ale po stronie sql'a
  1. list($o1,$o2,$o3,$o4)=explode('.',$ip);

ma to wyciągnąć kolejne oktety z adresu IP i zapisać je do zmiennych
macie jakieś pomysły jak to zrobić (IMG:style_emoticons/default/questionmark.gif) oczywiście niekoniecznie jedną instrukcją (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


1. Adresu IPv4 nie przechowuje się jako tekstu! To zwykła liczba całkowita i trzymaj ją w takiej właśnie postaci.
2. Adres IPv4 za niedługo zostanie zastąpiony adresem IPv6, który to może reprezentować adres starszego protokołu - więc to właśnie w nim powinieneś zapisywać adres użytkownika.
3. Dla IPv4:
  1. SELECT
  2. ip,
  3. @ip := INET_ATON(ip) AS numeric_ip,
  4. (@ip & 0xFF000000) >> 24 AS ip_1,
  5. (@ip & 0xFF0000) >> 16 AS ip_2,
  6. (@ip & 0xFF00) >> 8 AS ip_3,
  7. (@ip & 0xFF) AS ip_4
  8. FROM tbl_name;
Kod
+---------------+------------+------+------+------+------+
| ip            | numeric_ip | ip_1 | ip_2 | ip_3 | ip_4 |
+---------------+------------+------+------+------+------+
| 124.15.45.99  | 2081369443 |  124 |   15 |   45 |   99 |
| 211.119.54.44 | 3547805228 |  211 |  119 |   54 |   44 |
+---------------+------------+------+------+------+------+
2 rows in set (0.00 sec)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.12.2025 - 12:25