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

Contar registros agrupados.

Estas en el tema de Contar registros agrupados. en el foro de Bases de Datos General en Foros del Web. Quiero saber la cantidad de Fondos de Escritorio que tengo disponibles en mi BDatos según la categoría a la que pertenecen. Este es el código: ...
  #1 (permalink)  
Antiguo 12/10/2004, 06:34
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
Porque pasa esto

Quiero saber la cantidad de Fondos de Escritorio que tengo disponibles en mi BDatos según la categoría a la que pertenecen. Este es el código:
Código PHP:
$query "SELECT * FROM jcgrm_tapices GROUP BY idcat";
$result mysql_query($query) or die(mysql_error());
$tamanototal 0;
$cantidad 0;
while(
$row mysql_fetch_array($result)){
 
$querycat "SELECT idcat, titulo FROM jcgrm_categorias_tapices WHERE idcat=".$row['idcat']."";
 
$resultcat mysql_query($querycat) or die(mysql_error());
 
$rowcat mysql_fetch_assoc($resultcat);
 
$tamanototal+=$row['size'];
 
$cantidad+=1;
 echo 
"<tr>";
 echo 
"<td class='padding font'>".$rowcat['titulo']."</td>";
 echo 
"<td class='padding font' align='center'>".$cantidad."</td>";
 echo 
"<td class='padding font' align='center'>".$tamanototal." kb</td>";
 echo 
"</tr>";

mi tabla tiene 3 fondos pertenecientes a la categoría "1" por lo que me debería imprimir algo como esto:
Cita:
Titulo categoria 3 tamanototal
ahora solo me imprime que tengo 1 solo fondo y el tamaño del mismo. Si hago la consulta de esta forma:
Código PHP:
$query "SELECT * FROM jcgrm_tapices"
entonces me imprime tres filas de esta forma:
Cita:
Titulo categoria 1 tamanofondo1
Titulo categoria 2 tamanofondo2
Titulo categoria 3 tamanofondo3
porque me pasa esto?
Salu2
__________________
Ing. Reynier Pérez Mira
  #2 (permalink)  
Antiguo 12/10/2004, 07:44
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
En SQL existen las agrupaciones "GROUP BY" y también funciones para "contar" registros como COUNT() .. o tal vez con unos "JOIN" se pueda también.

Te remito al foro de Base de datos para que te orienten al respecto.

Un saludo,
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 13:17.