Foros del Web » Programando para Internet » PHP »

Consulta como

Estas en el tema de Consulta como en el foro de PHP en Foros del Web. Quiero seleccionar todas las noticias existentes en mi BD que pertenecen a una categoría y contarlas para saber cuantas hay. He hecho esto pero no ...
  #1 (permalink)  
Antiguo 06/05/2004, 00:09
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 15 años
Puntos: 1
Consulta como

Quiero seleccionar todas las noticias existentes en mi BD que pertenecen a una categoría y contarlas para saber cuantas hay. He hecho esto pero no me funciona pues por cada vez que encuentra una noticia lo que hace es imprimir a que categoria existe y no agruparlas por nombre como lo necesito:
Código PHP:
 $query "SELECT COUNT(idnoticia) AS cant, n.idnoticia,n.idcategoria,n.titulo,n.autor,c.imgcat,c.idcategoria,c.nombre FROM noticias n, categorianoticias c WHERE c.idcategoria=n.idcategoria GROUP BY idnoticia,c.nombre";
                  
$result mysql_query($query) or die("No se ha podido ejecutar la consulta. MySQL ha dicho: ".mysql_error());
                  echo 
"<table width='700' border='0' align='center' cellpadding='0' cellspacing='0'>";
                  while(
$res=mysql_fetch_assoc($result)){
                   echo 
"<tr>
                         <td colspan='2' class='menutop'>Categoría "
.$res['nombre']." </td>
                         </tr>
                         <tr>
                         <td width='241'><div align='center'><img src='img/catimg/"
.$res['imgcat']."'></div></td>
                         <td width='479' valign='top'><table width='500' border='0' align='center' cellpadding='0' cellspacing='0'>
                         <tr>
                         <td class='txt'>Titulo:<a href='asdasd'>"
.$res['titulo']."</a></td>
                         </tr>
                         <tr>
                         <td class='txt'>Publicado por: $autor el: $fecha </td>
                         </tr>
                         </table></td>
                         </tr>
                         <tr>
                         <td colspan='2' class='menuadmintop'>Total de Noticias en la Categoría "
.$res['nombre'].": ".$res['cant']." </td>
                         </tr>
                         <tr>
                         <td colspan='2'><hr color='#666666' size='1' noshade></td>
                         </tr>"
;
                  }
                    echo 
"</table>"
Salu2
__________________
Ing. Reynier Pérez Mira
  #2 (permalink)  
Antiguo 06/05/2004, 02:38
Avatar de firewind  
Fecha de Ingreso: noviembre-2003
Ubicación: Cabra-Córdoba-Andalucia-España
Mensajes: 62
Antigüedad: 14 años, 1 mes
Puntos: 2
Hola.

El problema es que estas intentando contar y devolver los datos en la misma consulta, prueba ha hacer algo asi :
$query = "SELECT n.idnoticia,n.idcategoria,n.titulo,n.autor,c.imgca t,c.idcategoria,c.nombre FROM noticias n, categorianoticias c WHERE c.idcategoria=n.idcategoria GROUP BY idnoticia,c.nombre";
$result = mysql_query($query) or die("No se ha podido ejecutar la consulta. MySQL ha dicho: ".mysql_error());
$cant = mysql_num_rows($result);
Bueno...no he podido probar el codigo, pero esa es la idea.
Un saludo.
__________________
Mi web personal : http://www.juancarlosromero.com
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:03.