CodeCharge Studio
search Register Login  

Web Reports

Visually create Web Reports in PHP, ASP, .NET, Java, Perl and ColdFusion.
CodeCharge.com

YesSoftware Forums -> CodeCharge Studio -> Español

 Contar numero de comentarios en noticias

Print topic Send  topic

Author Message
alfonso

Posts: 121
Posted: 08/15/2008, 4:33 AM

Hola,

Tengo una duda que no se si se podrá resolver, en una página tengo un grid donde muestro las 2 ultimas noticias de la base de datos (sacadas de la tabla noticias), y luego aparte tengo otra tabla llamada comentarios donde tengo los comentarios de las noticias (con un id_not que lo relaciona con cada noticia), el caso es que yo quiero que me cuente cuantos comentarios tiene cada noticia, estoy probando en la consulta sql en otro grid con esto

"SELECT COUNT(comentarios.id) AS 'numcom'
FROM comentarios INNER JOIN noticias ON
noticias.id = comentarios.not_id
WHERE comentarios.not_id=AQUI TIENE QUE IR LA ID DE LA NOTICIA Q QUIERO"

Pero claro, no se como recoger el parametro id(de la noticia) para meterlo en la otra consulta y que así me cuente los comentarios que tiene cada noticia, ¿hay alguna manera de hacerlo o de recoger ese parametro en cada iteración?
muchas gracias.
View profile  Send private message
Giovanni
Posted: 08/15/2008, 5:14 AM

Alfonso,

Donde está el id de la noticia, es un parámetro que tienes en la URL?

Si es un parámetro que pasas a tu página lo puedes obtener así:
$idnoticia = CCGetParam('idnoticia');

donde idnoticia = al nombre del parámetro que estás pasando

Espero que esto te sirva.

Saludos cordiales
alfonso

Posts: 121
Posted: 08/15/2008, 11:00 AM

Hola giovanni gracias por contestar,
vamos a ver el tema es que ese parametro no se lo paso por url, porque simplemente imprime las 2 ultimas noticias, es decir, hago una consulta sql para imprimir las noticias, pero luego quiero hacer otra consulta que es la que no se como hacer para imprimir el numero de comentarios de cada una de esas 2 noticias... no se si me explico
View profile  Send private message
Giovanni
Posted: 08/15/2008, 1:26 PM

Alfonso,
De acuerdo a lo que entiendo que deseas lograr, te detallo como lo haría yo:

$DB = new clsDB();
$DB2 = new clsDB();

$SQL = "SELECT id_noticia ... FROM ..."
$DB->query($SQL);

Como estas obteniendo 2 registros puedes usar un while

while ($DB->next_record())
{
$id_noticia = $DB->f("id_noticia");

// Aca ya tienes el id de la noticia para poder hacer otro SELECT en los comentarios

$SQL2 = "SELECT id_commentario FROM comentarios WHERE id_noticia = '".$id_noticia."'";
$DB2->query($SQL2);

// Como deben ser varios comentarios usas otro while para obtener todos los registros y los imprimes
while ($DB2->next_record())
{
.....
}
}

Espero que esto te se de utilidad.

Saludos

alfonso

Posts: 121
Posted: 08/16/2008, 9:49 AM

Y donde tengo que colocar el código??, ¿dónde debo asignar la variable de la id? gracias.
View profile  Send private message
alfonso

Posts: 121
Posted: 08/21/2008, 3:31 AM

Bueno muchas gracias, ya lo he solucionado, dejo la solución.
Este código lo añadí a Before Row en el grid donde recojo las noticias.

// RECOGER NUMERO DE COMENTARIOS
$var=$noticias->DataSource->not_id->GetValue();
$DB= new clsDBcon_todasoria();
$SQL="SELECT comentarios.com_id AS num FROM noticias LEFT JOIN comentarios ON comentarios.com_not_id=noticias.not_id WHERE comentarios.com_not_id = " .$var;
$DB->query($SQL);
$var=$DB->num_rows("num");
//Lo guardamos en la etiqueta num_coments
$noticias->num_coments->SetValue($var);
View profile  Send private message

Add new topic Subscribe to topic   


These are Community Forums for users to exchange information.
If you would like to obtain technical product help please visit http://support.yessoftware.com.

Internet Database

Visually create Web enabled database applications in minutes.
CodeCharge.com

Home   |    Search   |    Members   |    Register   |    Login


Powered by UltraApps Forum created with CodeCharge Studio
Copyright © 2003-2004 by UltraApps.com  and YesSoftware, Inc.