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

Buscar palabra en un campo con comas

Estas en el tema de Buscar palabra en un campo con comas en el foro de Mysql en Foros del Web. Buenas a todos Tengo un campo llamado tagart que son tags de un registro. "perro,caballo,girafa,elefante,lince iberico". Necesito con una búsqueda LIKE poder encontrar a cada ...
  #1 (permalink)  
Antiguo 17/01/2011, 04:56
 
Fecha de Ingreso: noviembre-2007
Ubicación: Zamora (Spain)
Mensajes: 251
Antigüedad: 17 años
Puntos: 1
Pregunta Buscar palabra en un campo con comas

Buenas a todos

Tengo un campo llamado tagart que son tags de un registro. "perro,caballo,girafa,elefante,lince iberico".

Necesito con una búsqueda LIKE poder encontrar a cada una de esos tags separados por comas.

He probado con esto pero no me funciona:

Código:
SELECT REPLACE(miCampo,',',' ') AS tags FROM miTabla WHERE tags.miCampo LIKE '%".$token."%')
Donde $token es una variable de PHP que contiene por ejemplo "perro".

Cuando utilizo esta forma me devulve que no encuentra tags.miCampo como campo dentro de WHERE.

Agradezco cualquier pista. Muchas gracias de antemano.

Un saludo,
  #2 (permalink)  
Antiguo 17/01/2011, 05:27
 
Fecha de Ingreso: febrero-2009
Mensajes: 580
Antigüedad: 15 años, 9 meses
Puntos: 13
Respuesta: Buscar palabra en un campo con comas

hola, usas PHP? Si es así, podrías hacerle un explode al input; lo he hecho estos días, te lo mestro? justo estoy con el tema de etiquetas también, pero con búsqueda.. hay un post nuevo xD
__________________
¿ya conoces la red social de cocina? descubre y comparte recetas de cocina
TONIWEB, un programador web freelance
  #3 (permalink)  
Antiguo 17/01/2011, 05:51
 
Fecha de Ingreso: noviembre-2007
Ubicación: Zamora (Spain)
Mensajes: 251
Antigüedad: 17 años
Puntos: 1
Respuesta: Buscar palabra en un campo con comas

Muchas gracias por tu ayuda.

Principalmente la idea está en recuperar la información "limpia" desde mysql. Al final lo he acabo haciendo funcionar. Lo indico por si a alguien le sirve.

Código:
SELECT REPLACE(miCampo,',',' ') AS tags FROM miTabla WHERE REPLACE(miCampo,',',' ') LIKE '%".$token."%')
Donde $token es una variable de PHP que contiene por ejemplo "perro".

Pero para finalizar diré que LIKE hubiera funcionado correctamente si utilizar REPLACE puesto que con los caracteres % sirven a la perfección. Lo único que por otro motivo relacionado con una variable no me lo hacía a mi personalmente de forma correcta.

Un saludo.
  #4 (permalink)  
Antiguo 17/01/2011, 06:32
 
Fecha de Ingreso: febrero-2009
Mensajes: 580
Antigüedad: 15 años, 9 meses
Puntos: 13
Respuesta: Buscar palabra en un campo con comas

Interesante planteamiento! lo necesitaré en otra ocasión ;)
__________________
¿ya conoces la red social de cocina? descubre y comparte recetas de cocina
TONIWEB, un programador web freelance
  #5 (permalink)  
Antiguo 17/01/2011, 06:40
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 7 meses
Puntos: 300
Respuesta: Buscar palabra en un campo con comas

para eso existe FIND_IN_SET()
Código MySQL:
Ver original
  1. SELECT campo1, campo2, campolistado FROM tutabla
  2.  WHERE FIND_IN_SET('palabrabuscada',campolistado)  > 0
También podrían emplearse expresiones regulares.
  #6 (permalink)  
Antiguo 17/01/2011, 06:48
 
Fecha de Ingreso: noviembre-2007
Ubicación: Zamora (Spain)
Mensajes: 251
Antigüedad: 17 años
Puntos: 1
Respuesta: Buscar palabra en un campo con comas

Muchas gracias jurena. Tomo nota para otras utilidades.
  #7 (permalink)  
Antiguo 17/01/2011, 08:32
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 7 meses
Puntos: 300
Respuesta: Buscar palabra en un campo con comas

xenon254,
a veces hay que usarla, pero trata de evitar la existencia de campos multivaluados; van contra las reglas del modelo relacional. Casi siempre suele haber alguna solución mejor, más eficiente y con mayores posibilidades, mediante el añadido de una tabla específica.
Este es mi consejo: antes de crear un registro multivaluado, piensa para qué necesitarás esos datos, qué cálculos serán necesarios con ellos y qué tipo de administración requerirán.
  #8 (permalink)  
Antiguo 17/01/2011, 08:47
 
Fecha de Ingreso: noviembre-2007
Ubicación: Zamora (Spain)
Mensajes: 251
Antigüedad: 17 años
Puntos: 1
Respuesta: Buscar palabra en un campo con comas

Gracias de nuevo por el consejo

Etiquetas: comas, palabra, campos
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:35.