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

Problema mostrar cantidad de coincidencias entre campo de 2 tablas

Estas en el tema de Problema mostrar cantidad de coincidencias entre campo de 2 tablas en el foro de Mysql en Foros del Web. Buenas, soy un novato en esto del php, mysql y estoy intentando crear un sistema muy simple de noticias y sus respectivos comentarios lo cual ...
  #1 (permalink)  
Antiguo 26/12/2011, 13:42
 
Fecha de Ingreso: marzo-2008
Mensajes: 60
Antigüedad: 16 años
Puntos: 0
Problema mostrar cantidad de coincidencias entre campo de 2 tablas

Buenas, soy un novato en esto del php, mysql y estoy intentando crear un sistema muy simple de noticias y sus respectivos comentarios lo cual no me ha dado muchos problemas, pero al intentar mostrar la cantidad de comentarios que tiene cada noticia se me complico el asunto.

Cuento con 2 tablas, noticias y comentarios, dejo las estructuras.

CREATE TABLE `noticias` (
`id` int(11) NOT NULL auto_increment,
`titulo` varchar(50) NOT NULL,
`noticia` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM;

CREATE TABLE `comentarios` (
`idComentarios` int(11) NOT NULL auto_increment,
`nombre` varchar(50) NOT NULL,
`comentario` text NOT NULL,
`idNoticia` int(11) NOT NULL,
PRIMARY KEY (`idComentarios`)
) ENGINE=MyISAM;

La forma en la cual relaciono los Comentarios con la Noticia es mediante el campo "idNoticia" de la tabla "comentarios", al cual le asigno el mismo valor del campo "id" de la tabla "noticias" cuando se postea algun comentario.

Por lo que la tabla "comentarios" quedaria asi relacionada con "noticias":



En lo que necesito su ayuda es en como formular la consulta para que por ejemplo en este caso mostrar en pantalla que para la Noticia con id=1 Existen 5 comentarios

Titulo
Noticia
Leer mas..
(5) Comentarios

, pero a su vez para que cuando se muestre el resumen de idNoticia=2 se muestre:

Titulo
Noticia
Leer mas..
(1) Comentarios

Gracias desde ya a quienes lo lean.

Última edición por Sabin; 26/12/2011 a las 14:09
  #2 (permalink)  
Antiguo 26/12/2011, 14:28
 
Fecha de Ingreso: marzo-2008
Mensajes: 60
Antigüedad: 16 años
Puntos: 0
Respuesta: Problema mostrar cantidad de coincidencias entre campo de 2 tablas

Perdon, me explique bastante mal por obviar partes del codigo necesarias para entender mas precisamente mi duda.

Actualmente muestro las noticias asi:

Código PHP:
<?php 
$sql 
"SELECT * FROM noticias ORDER BY id DESC LIMIT $start, $limit";
$result mysql_query($sql);
while(
$row mysql_fetch_array($result)) {

echo 
$row['titulo'];
echo 
$row['noticia'];
echo 
'<tr><a href="noticia.php?id='.$row['id'].'" class="masnoticia">Leer más..</a>'
}

?>
Lo cual se muestra:

Titulo 1
Noticia 1
Leer mas..

Titulo 2
Noticia 2
Leer mas..

Por lo que necesito ayuda para crear la nueva consulta y asi relacionar las tablas para que muestre el numero de comentarios correspondientes a tal noticia en particular, y se muestre:

Titulo 1
Noticia 1
Leer mas..
(5) comentarios

Titulo 2
Noticia 2
Leer mas..
(1) comentarios
  #3 (permalink)  
Antiguo 26/12/2011, 15:16
Avatar de leo_  
Fecha de Ingreso: abril-2008
Mensajes: 40
Antigüedad: 16 años
Puntos: 11
Sonrisa Respuesta: Problema mostrar cantidad de coincidencias entre campo de 2 tablas

Hola una forma puede ser asi:
Código PHP:
<?php 
$sql 
"SELECT * FROM noticias ORDER BY id DESC LIMIT $start, $limit";
$result mysql_query($sql);
while(
$row mysql_fetch_array($result)) {

echo 
$row['titulo'];
echo 
$row['noticia'];
echo 
'<tr><a href="noticia.php?id='.$row['id'].'" class="masnoticia">Leer más..</a>';
$a mysql_query("select null from comentarios where idNoticia = ".$row['id']);
echo 
'<tr>('.mysql_num_rows($a).') Comentarios</tr>';
}

?>
No lo he probado pero debería funcionar sin problemas. Saludos.
__________________
Di que no haces las cosas para que te las agradezcan, pero trata de hacerlas para gente agradecida. Cipriano.
  #4 (permalink)  
Antiguo 26/12/2011, 15:20
 
Fecha de Ingreso: marzo-2008
Mensajes: 60
Antigüedad: 16 años
Puntos: 0
Respuesta: Problema mostrar cantidad de coincidencias entre campo de 2 tablas

Funciona Perfecto leo_, muchas gracias.

Etiquetas: cantidad, coincidencias, php, sql, tabla, tablas, 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 02:05.