Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

(Consulta) IP 3 octetos

Estas en el tema de (Consulta) IP 3 octetos en el foro de Mysql en Foros del Web. Necesito almacenar 3 octetos de una dirección ip. xxx.xxx.xxx Que tipo de campo puedo usar? Para ip completa utilicé: int unsigned....
  #1 (permalink)  
Antiguo 31/10/2011, 15:58
 
Fecha de Ingreso: marzo-2008
Mensajes: 1.020
Antigüedad: 16 años, 1 mes
Puntos: 21
(Consulta) IP 3 octetos

Necesito almacenar 3 octetos de una dirección ip.

xxx.xxx.xxx

Que tipo de campo puedo usar?

Para ip completa utilicé: int unsigned.
__________________
_
  #2 (permalink)  
Antiguo 31/10/2011, 16:56
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: (Consulta) IP 3 octetos

Depende de cómo lo mires. Yo guardaría su valor numérico usando ATON(), de ese modo lo único que necesitas es un INT UNSIGNED, que tiene sólo 4 bytes de ancho..
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 31/10/2011, 17:44
 
Fecha de Ingreso: marzo-2008
Mensajes: 1.020
Antigüedad: 16 años, 1 mes
Puntos: 21
Respuesta: (Consulta) IP 3 octetos

Me podrias ampliar la info sobre aton().

EDIT:

Para hacer un insert desde un form con php necesito de una funcion php que combierta la ip en formato mysql inet_aton, verdad?

Gracias.
__________________
_

Última edición por opzina; 31/10/2011 a las 18:02
  #4 (permalink)  
Antiguo 31/10/2011, 18:10
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: (Consulta) IP 3 octetos

Es una función de conversión que transforma un entero de 32 bits en su representación alfanumérica para una IP:
Código MySQL:
Ver original
  1. mysql> SELECT INET_ATON('192.168.032.000') EnNumero;
  2. +------------+
  3. | EnNumero   |
  4. +------------+
  5. | 3232243712 |
  6. +------------+
  7. 1 row in set (0.00 sec)
Tiene un complementario que es INET_NTOA():
Código MySQL:
Ver original
  1. mysql> SELECT INET_NTOA(3232243712) EnIp;
  2. +--------------+
  3. | EnIp         |
  4. +--------------+
  5. | 192.168.32.0 |
  6. +--------------+
  7. 1 row in set (0.00 sec)
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 31/10/2011, 19:00
 
Fecha de Ingreso: marzo-2008
Mensajes: 1.020
Antigüedad: 16 años, 1 mes
Puntos: 21
Respuesta: (Consulta) IP 3 octetos

Muchas Gracias.

Ahora tengo que investigar como trabajar esto con cakephp. Como punto de partida se que hay dos funciones php:

Código PHP:
Ver original 
__________________
_
  #6 (permalink)  
Antiguo 31/10/2011, 19:38
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: (Consulta) IP 3 octetos

Este foro es Bases de Datos, no PHP. Los tema de programación en PHP se tratan en su propio foro (Foro de PHP), por normas de éste.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: ip
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:18.