Foros del Web » Programando para Internet » PHP »

Búsqueda por categorías

Estas en el tema de Búsqueda por categorías en el foro de PHP en Foros del Web. Buenos días, Lo he pensado un par de días y me asalta una duda con el sistema que estoy creando, se trata de buscar un ...
  #1 (permalink)  
Antiguo 11/01/2008, 23:56
 
Fecha de Ingreso: junio-2002
Mensajes: 57
Antigüedad: 21 años, 10 meses
Puntos: 0
Búsqueda por categorías

Buenos días,

Lo he pensado un par de días y me asalta una duda con el sistema que estoy creando, se trata de buscar un campo que esté dentro de varias categorías en una tabla relacional. Me explicaré:
En mi base de datos tengo estos campos en una tabla relacion n a n:
id_relacion
id_categoria
id_campo

el id_relacion es irrelevante así que me centro en los que interesan, la categoría y el campo.
Lo que estoy intentando hacer es que si yo tengo un campo en varias categorías me lo muestre como lista, pero ando perdido por que no sé si tengo que procesarlos todos primero o por donde tirar.
Si alguien me puede dar una pista se lo agradeceré en el alma. Un saludo y gracias de antemano.
  #2 (permalink)  
Antiguo 12/01/2008, 09:18
Avatar de ginitofl  
Fecha de Ingreso: diciembre-2006
Ubicación: Lima Perú
Mensajes: 349
Antigüedad: 17 años, 4 meses
Puntos: 22
Re: Búsqueda por categorías, ayuda.

No se entiende bien tu pregunta, que resultados es lo que quieres mostrar? seria mejor que pongas las tablas que involucras para poder darnos una mejor idea de lo que tienes pensando hacer, asi podemos ayudarte mejor.

Saludos.
  #3 (permalink)  
Antiguo 12/01/2008, 13:28
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Búsqueda por categorías, ayuda.

Lo que haces es un join en tu consulta, seleccionas todos los id_categoria que sean igual a id_campo, haces el join a tu tabla categorías y descargas el nombre de la categoria.

Saludos.
  #4 (permalink)  
Antiguo 12/01/2008, 16:27
 
Fecha de Ingreso: junio-2002
Mensajes: 57
Antigüedad: 21 años, 10 meses
Puntos: 0
Re: Búsqueda por categorías, ayuda.

A ver, quizás no me he explicado bien al preguntar y pido disculpas. También doy las gracias por el esfuerzo y la ayuda prestadas.

La pregunta:
Como listar todas las id_campo que estén en varias id_categoria.

Es decir, si tengo algo así:
id_categoria - id_campo
1-2
2-2
1-3
3-2
1-4
2-5
2-6
5-7

y yo lo que quiero es mostrar las id_campo que tengan la id_categoria = 1 AND =2 de forma ordenada pero sin que se repitan (como por ej el id_campo 2 que está repetido a la derecha en la categoria 1 y 2 haciendo que solo salga una vez), o extraer sus ids en un array o separadas por comas para luego poder usarlas sobre la tabla que contiene los datos.

Gracias.
  #5 (permalink)  
Antiguo 12/01/2008, 16:35
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
De acuerdo Re: Búsqueda por categorías, ayuda.

Hola VicHaunter. cómo vas??

Pues sencillo si te entendì bien, no necesitas de php para eso, basta con la DB.

Código:
select distinct id_categoria ....

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #6 (permalink)  
Antiguo 12/01/2008, 17:41
 
Fecha de Ingreso: junio-2002
Mensajes: 57
Antigüedad: 21 años, 10 meses
Puntos: 0
Re: Búsqueda por categorías, ayuda.

Cita:
Iniciado por Carxl Ver Mensaje
Hola VicHaunter. cómo vas??

Pues sencillo si te entendì bien, no necesitas de php para eso, basta con la DB.

Código:
select distinct id_categoria ....
Saludos

Muchas Gracias, voy a buscar info sobre esta sentencia y ya comento algo vale? un saludo.
  #7 (permalink)  
Antiguo 13/01/2008, 03:07
 
Fecha de Ingreso: junio-2002
Mensajes: 57
Antigüedad: 21 años, 10 meses
Puntos: 0
Re: Búsqueda por categorías

He estado probando y para seleccionar solo una categoría va bien, incluso para seleccionar una categoría u otra, pero cuando quiero hacer que me muestre solo lo que hay en varias categorías ya no lo consigo. El código que he hecho es tal que así para sacar las ids:

Código PHP:
$result $db->sql_query("SELECT DISTINCT campo_id FROM ".$prefix."cat_rel_campo WHERE cat_id='21' OR cat_id='13'");
         while(
$row $db->sql_fetchrow($result)){
         echo 
$row['campo_id']-"<br>";
         } 
Alguna idea de como elegir los campos que estén por ejemplo en id_categoria 1 y 2? he probado con and pero no encuentra nada por que es una categoría por línea.


Estoy mirando también los join que comentabais más arriba, pero estos son nuevos para mí y estoy haciendo pruebas para saber como funcionan realmente.

Gracias por la ayuda.
  #8 (permalink)  
Antiguo 13/01/2008, 23:13
 
Fecha de Ingreso: junio-2002
Mensajes: 57
Antigüedad: 21 años, 10 meses
Puntos: 0
Re: Búsqueda por categorías

Sobre lo de los join, me he encontrado algo interesante y sencillo de entender aquí y también me he leído la sintaxis en la web de mysql pero creo que no es lo que busco para lo que quiero hacer ya que solo utilizo una tabla con referencias.

Cómo busco diversas ids en una tabla haciendo un explode? es decir, tengo esto 34,556,32,1,3376,87 y hago un explode a la coma para que me saque las ids sueltas, pero quiero sacar una lista de la base de datos con esas ids en una tabla.

Si alguien sabe por donde van los tiros que me lo comente, estaré agradecido.

Por cierto, Muchas Gracias Carlx por comentar lo de distinct, era algo que no conocía y me es de utilidad para lo que busco.

para el que no lo conozca, distinct es una sentencia de mysql que reduce los registros duplicados a uno único, así por ejemplo si tenemos un campo en 5 categorías y lo que queremos es listar ese campo que está en esas categorías, nos saldría solo una vez.
Se escribiría así:
Código PHP:
$result $db->sql_query("SELECT DISTINCT campo_id FROM tabla WHERE id='$variables'"
Un saludo.
  #9 (permalink)  
Antiguo 14/01/2008, 07:41
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
De acuerdo Re: Búsqueda por categorías

No de nada de nada, pa' eso estamos, pa' ayudarnos VicHaunter...

Pero es CarXL jajajaja

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #10 (permalink)  
Antiguo 15/01/2008, 04:07
 
Fecha de Ingreso: junio-2002
Mensajes: 57
Antigüedad: 21 años, 10 meses
Puntos: 0
Re: Búsqueda por categorías

Cita:
Iniciado por Carxl Ver Mensaje
No de nada de nada, pa' eso estamos, pa' ayudarnos VicHaunter...

Pero es CarXL jajajaja

Saludos
Ups, pido perdon por mi gran error xD , es que a esas horas casi saliendo del curro uno ya no vé ni las letras. Sorry. Muchas gracias de nuevo y saludos.
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 02:15.