Foros del Web » Programando para Internet » PHP »

seleccion compuesta en una BD

Estas en el tema de seleccion compuesta en una BD en el foro de PHP en Foros del Web. hola a ver si alguien sabe como resolver mi duda... a grandes rasgos tengo una base de datos con los siguientes campos titulo contenido carpeta ...
  #1 (permalink)  
Antiguo 22/11/2005, 15:15
Avatar de fullmental  
Fecha de Ingreso: octubre-2004
Ubicación: México DF, Xochimilco
Mensajes: 593
Antigüedad: 13 años, 1 mes
Puntos: 3
seleccion compuesta en una BD

hola a ver si alguien sabe como resolver mi duda...


a grandes rasgos tengo una base de datos con los siguientes campos

titulo
contenido
carpeta
tag

hasta aqui todo bien cuando quiero obtener los datos de los campos de determinada "carpeta" asi:

Código:
$squery="SELECT * FROM noticias WHERE carpeta=11 ORDER BY id DESC LIMIT 0,30";
ahora lo que no se es como seria limitar a sólo aquellos campos de la carpeta 11 que tengan el "TAG" X

intente lo siguiente pero no me resulto:
Código:
$squery="SELECT * FROM noticias WHERE carpeta=11 AND tag='X' ORDER BY id DESC LIMIT 0,30";
alguna idea?
  #2 (permalink)  
Antiguo 22/11/2005, 15:31
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 12 años, 10 meses
Puntos: 20
Diría que la sintaxis está bien...

¿Has probado con WHERE CARPETA='11' AND WHERE tag='X'?

No estoy seguro...
  #3 (permalink)  
Antiguo 22/11/2005, 17:35
Avatar de Gerifaltus  
Fecha de Ingreso: junio-2005
Ubicación: Tabasco, México
Mensajes: 180
Antigüedad: 12 años, 5 meses
Puntos: 4
que tal;

tratando de aportar algo,

en el campo tag tienes texto??

si es asì entonces caundo se hace eso de ....carpeta=11 AND tag='x'... comparas 'exactamente' lo que esta en el campo con lo que trae 'x', y si no esta pues no te devuelve nada, por lo tanto te sugiero que uses un indice de tipo fulltext que tiene mysql (supongo que es el que estas usando), de esa manera te buscara todas las coincidencias que hagas con tag='x'.

con el indice le dices que campo deseas incluir cuando este buscando, te sugiero que busques en la ayuda de mysql (esta en ingles), pero con los ejemplos te es facil entenderlos.

espero haber ayudado.

saludos.
__________________
:::.. Todo tiene un ¿Por qué? y un ¿Para qué? ..:::
:::.. Todo se reduce a un SI y a un No ..:::
  #4 (permalink)  
Antiguo 22/11/2005, 20:07
Avatar de jmn2k1  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires...
Mensajes: 489
Antigüedad: 16 años, 1 mes
Puntos: 2
Cita:
¿Has probado con WHERE CARPETA='11' AND WHERE tag='X'?
Eso esta mal y da un error de sintaxis.

Que tipos de datos tenés en "tag"?

Si fuera una palabra sola, la busqueda que haces deberia funcionar (siempre y cuando tengas ese tag en la base, no...) en el caso de que tengas muchos tags, al estilo "tag1 tag2 tag3" podrias hacer:

Código:
WHERE tag like '%tag1%'
con eso estas haciendo que busque "tag1" rodeado de lo que sea.
__________________
JmN
  #5 (permalink)  
Antiguo 22/11/2005, 20:11
Avatar de fullmental  
Fecha de Ingreso: octubre-2004
Ubicación: México DF, Xochimilco
Mensajes: 593
Antigüedad: 13 años, 1 mes
Puntos: 3
vientos, esta ultima me sirvio

ya esta funcionando.

mil gracias.
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 18:21.