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

No mostar datos de la DB

Estas en el tema de No mostar datos de la DB en el foro de Mysql en Foros del Web. Hola a tod@s, tengo una base de datos en en MySQL y tengo datos como estos: hxxp://www.xxxx.tk 130.0.161.8 hxxp://www.xxxx.net 97.74.116.108 hxxp://www.xxxx.com 37.4.16.10 hxxp://www.xxxx.com/xxxx hxxp://www.xxxx.net/xxxx.exe y ...
  #1 (permalink)  
Antiguo 18/05/2009, 07:35
 
Fecha de Ingreso: enero-2009
Ubicación: en la casa
Mensajes: 223
Antigüedad: 15 años, 3 meses
Puntos: 3
No mostar datos de la DB

Hola a tod@s, tengo una base de datos en en MySQL y tengo datos como estos:

hxxp://www.xxxx.tk 130.0.161.8
hxxp://www.xxxx.net 97.74.116.108
hxxp://www.xxxx.com 37.4.16.10
hxxp://www.xxxx.com/xxxx
hxxp://www.xxxx.net/xxxx.exe

y lo que deceo es que al momento de presentar los datos no me muestre las direcciones como las 3 primeras en las que asoman ip-adress; lo que tengo al momento:
"SELECT * FROM direc_http WHERE direccion NOT LIKE '%.com%' "
que hace que no muestre las direcciones con ".com"; pero como hacer para que no muestre las direcciones con algun ".xxx nnn.nnn.nnn.nnn" un ejemplo seria ".net 255.255.255.001"; o hay alguna forma de usar expresines regulares para hacer este filtro, gracias de antemano
  #2 (permalink)  
Antiguo 18/05/2009, 09:53
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: No mostar datos de la DB

Tema trasladado desde PHP
  #3 (permalink)  
Antiguo 18/05/2009, 10:58
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: No mostar datos de la DB

No sé si te habré entendido bien, pero mi pregunta es: ¿Por qué guardas en un mismo campo la URL y la IP. Creo que no tiene mucho sentido, y deberías corregirlo añadiendo un campo para la IP y pasando los datos de la IP a ese campo. De todas maneras, puesto que tienes un espacio en blanco para separarlo podrías no mostrar esa parte del campo, porque imagino que sí quieres mostrar el resto.
SELECT SUBSTRING_INDEX(direccion, ' ', 1) URLsinIP FROM direc_http
Esto te mostrará lo anterior a ese espacio en blanco. No lo he probado.
Si no quieres ver esos registros, buscas el espacio en blanco de en medio con
... WHERE direccion NOT LIKE '% %'
También podrías usar alguna expresión regular, aunque yo, para este caso, no te lo aconsejaría.
  #4 (permalink)  
Antiguo 18/05/2009, 19:46
 
Fecha de Ingreso: enero-2009
Ubicación: en la casa
Mensajes: 223
Antigüedad: 15 años, 3 meses
Puntos: 3
Respuesta: No mostar datos de la DB

Gracias jurena, muy buen consejo, no se me ocurrio tomar en cuenta el espacio que hay entre las dos y que se puede buscar con WHERE direccion NOT LIKE '% %'; en lo que respecta a las direcciones, te contare no es mi culpa que las direcciones esten unidas a las IP, a mi me dan asi la informacion y en este momento me piden que no muestre las direcciones que tengan IP; Que ria preguntarte si tienes informacion sobre las expresiones regulares para lenguge SQL? gracias por todo
  #5 (permalink)  
Antiguo 18/05/2009, 22:59
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: No mostar datos de la DB

En el manual de MySQL
http://dev.mysql.com/doc/refman/5.1/en/regexp.html

En tu caso y para lo que quieres, yo lo haría así con expresiones regulares:
SELECT direccion FROM direc_http WHERE direccion REGEXP '[[:blank:]]' = 0;
Te encontrará todas las que no tienen espacio.
SELECT direccion FROM direc_http WHERE direccion REGEXP '[[:blank:]]' = 1;
Te encontrará las que tienen espacio.

Última edición por jurena; 18/05/2009 a las 23:55
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 01:23.