Foros del Web » Programando para Internet » PHP »

como hacer consulta de multiples categorias

Estas en el tema de como hacer consulta de multiples categorias en el foro de PHP en Foros del Web. Hola estoy haciendo una web de noticias. Como ya imaginareis hay un monton de categorias a las que van a pertenecer las noticias. EN la ...
  #1 (permalink)  
Antiguo 27/01/2008, 06:48
 
Fecha de Ingreso: junio-2006
Mensajes: 125
Antigüedad: 17 años, 10 meses
Puntos: 1
como hacer consulta de multiples categorias

Hola estoy haciendo una web de noticias. Como ya imaginareis hay un monton de categorias a las que van a pertenecer las noticias.
EN la pagina principal me aparecen una lista de las categorías de noticias que existen y lo que yo quiero es que entre paréntesis al lado del nombre de cada categoría me aparezca el número de noticias existentes para cada categoría.
Entonces he estado pensado y creo que tendré que realizar múltiples consultas de "SELECT... " en la base de datos para que me vaya mostrando el número de noticias de cada categoría. Mi pregunta es si creeis que ésto podría saturar fuertemente a mi motor de la base de datos o si alguien sabeis cómo podría hacer la consulta de la manera más eficaz.
Espero vuestras respuestas y muchas gracias.
P.D. La tabla de categorías es esta hecha con id_categoria(de tipo int) y nombre_categoria.(var_char)
Las tabla de noticias tiene un campo en el que se incluye el id_categoria.
Entonces yo haré la consulta recorriendo un bucle for y que me vaya consultando las noticias de cada categoria. Ejemplo
for ($i=1;sizeof(numero_categorias);i++)
{
$consulta="SELECT COUNT(noticia) FROM noticias WHERE id_noticia="$i;
}

Creeis que es ésta la mejor forma de hacer la consulta?
Muchas gracias por vuestra ayuda
  #2 (permalink)  
Antiguo 27/01/2008, 06:50
 
Fecha de Ingreso: junio-2006
Mensajes: 125
Antigüedad: 17 años, 10 meses
Puntos: 1
Re: como hacer consulta de multiples categorias

perdon pero en el bucle no lo escribí bien jeje:
es for($i=1;$i<=sizeof(numero_categorias);$i++)
Perdón por la equivocación, pero es que iba muy rápido escribiendo y pasa lo que pasa jeje
  #3 (permalink)  
Antiguo 28/01/2008, 04:33
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 3 meses
Puntos: 13
Re: como hacer consulta de multiples categorias

desde luego no es la mejor forma de hacer la consulta,

prueba:
select nombre_categoria, count(noticia)
from categorias left join noticias using (id_categoria)
group by nombre_categoria;

Salu2
  #4 (permalink)  
Antiguo 28/01/2008, 08:56
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Re: como hacer consulta de multiples categorias

Trasladado de BD a PHP. Favor no poner código de programación en BD.

Función de la sección de Base de Datos
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #5 (permalink)  
Antiguo 29/01/2008, 13:53
 
Fecha de Ingreso: junio-2006
Mensajes: 125
Antigüedad: 17 años, 10 meses
Puntos: 1
Re: como hacer consulta de multiples categorias

me puede dar alguien un pequeño tutorial de cómo realizar consultas usando LEFT JOIN porque es que la verdad no tengo ni idea de cómo usarlo correctamente para la consulta que expuse al principio.
Recuerdo como era la consulta: tengo que recoger el número de noticias que hay dentro de cada categoria.
El diseño de la BD es así: TABLA CATEGORIAS: con id_categoria y nombre_categoria
TABLA NOTICIAS: en las que se encuentra el id_categoria, el id_noticia y luego todos los campos relativos a una noticia como son el titulo, descripcion, autor, etc...
Quien puede volver a ayudarme?
Muchas gracias de nuevo a todos,
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 04:02.