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

Como hacer consultas comparando texto

Estas en el tema de Como hacer consultas comparando texto en el foro de Mysql en Foros del Web. Bien.. despues de tanto lucharla.. no he podido dar con la consulta que quiero realizar.. y creo que estoy encaminando mal las cosas. El tema ...
  #1 (permalink)  
Antiguo 20/12/2011, 14:45
 
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires
Mensajes: 126
Antigüedad: 13 años, 6 meses
Puntos: 11
Como hacer consultas comparando texto

Bien.. despues de tanto lucharla.. no he podido dar con la consulta que quiero realizar.. y creo que estoy encaminando mal las cosas.
El tema es asi, tengo un sistema de noticias, en una tabla tengo mis noticias con todos sus campos, como clave principal tengo idNoticia. Luego tengo tags en las noticias, y como es una relacion de muchos a muchos, los tengo en otra tabla, la cual contiene idTag, idNoticia y Tags. Bien, la consulta que necesito es que al hacer click sobre un tag, por ejemplo sobre el tag manzana, me muestre todas las noticias que tengan como tag la palabra manzana. Hasta ahora tengo esto pero no va.

Código MySQL:
Ver original
  1. // traemos la noticia correspondiente al Tag seleccionado
  2. $arrayNoticias = array();
  3. $query = "SELECT relacionesTags.idTag, relacionesTags.idNoticia, relacionesTags.Tag, noticias.idNoticia FROM relacionesTags
  4. INNER JOIN noticias ON relacionesTags.idNoticia = noticias.idNoticia
  5. WHERE relacionesTags.Tag = " . $_GET['Tag'] . " ORDER BY DESC";
  6. $resultado = mysql_query ($query, $dbConn);
  7. while ( $row = mysql_fetch_assoc ($resultado)) {
  8.     array_push( $arrayNoticias,$row );
  9. }
  #2 (permalink)  
Antiguo 20/12/2011, 14:54
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, 4 meses
Puntos: 2658
Respuesta: Como hacer consultas comparando texto

Lo que necesitas es lograr esto:
Código MySQL:
Ver original
  1.     RT.idTag,
  2.     RT.idNoticia,
  3.     RT.Tag,
  4.     N.idNoticia
  5. FROM relacionesTags RT INNER JOIN noticias N ON RT.idNoticia = N.idNoticia
  6.     relacionesTags.Tag = 'manzana'
o si lo quieres por aproximación:
Código MySQL:
Ver original
  1.     RT.idTag,
  2.     RT.idNoticia,
  3.     RT.Tag,
  4.     N.idNoticia
  5. FROM relacionesTags RT INNER JOIN noticias N ON RT.idNoticia = N.idNoticia
  6.     relacionesTags.Tag LIKE '%manzana%'
Fíjate tu como componer la sentencia de modo que quede así. Nota que las cadenas de texto están encerradas entre apostrofes ('). Así deben ir.
__________________
¿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: comparacion, select, tag, 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 19:46.