Comunidad PHPeros
Lenguajes => PHP => Mensaje iniciado por: MaNuX en 21 de Abril de 2013, 13:31:05 pm
-
Hola aver si podeis echarme una mano, quiero que cuente cuantos comentarios hay en cada noticia y lo unico que consigo es que aparezca que no hay ningun comentario y si los hay.
Aquí os dejo el código aver que tengo mal:
$sqlc = @mysql_query("SELECT * FROM comentarios WHERE idnoticia='".$result['id']."'");
$numerocom = @mysql_num_rows($sqlc);
if($pat['comentarios'] == 1) {
$comen = $numerocom."";
} else {
$comen = "0";
}
Saludos.
-
$sqlc = @mysql_query("SELECT * FROM comentarios WHERE idnoticia = $result['id']");
$numerocom = @mysql_num_rows($sqlc);
if($numerocom > 0)
{
$comen = $numerocom;
} else {
$comen = "0";
}
Así estaría bien... Saludos
-
Así estaría bien... Saludos
Pues no me suma los comentarios en cada noticia, aparece en 0
-
$sqlc = mysql_query("SELECT * FROM comentarios WHERE idnoticia = $result['id']") or die ("Error en comentarios");
$numerocom = mysql_num_rows($sqlc);
Borra el código anterior y pon ese, si te da error en comentarios, es por que $result['id'] o la fila idnoticia esta mal y luego me comentas.
Saludos
-
$sqlc = mysql_query("SELECT * FROM comentarios WHERE idnoticia = $result['id']") or die ("Error en comentarios");
$numerocom = mysql_num_rows($sqlc);
Borra el código anterior y pon ese, si te da error en comentarios, es por que $result['id'] o la fila idnoticia esta mal y luego me comentas.
Saludos
Me dio error en comentarios por result porque deveria ser "$rows2['id'], pero igualmente sige apareciendo 0, no me los cuenta.
Saludos.
Edito: Aqui te dejo el codigo completo
<?
$query2 = mysql_query("SELECT * FROM noticias WHERE cat = 'Prueba' ORDER by id DESC LIMIT 6");
$rows2 = mysql_num_rows($query2);
if($rows2 == 0) { echo '<div align="center" style="padding:10px; font-size:12px; color:#555">
No hay noticias para mostrar</div>'; }else{
$i=0;
while($datos = mysql_fetch_array($query2)) {
$sqlc = @mysql_query("SELECT * FROM comentarios WHERE idnoticia='".$rows2['id']."' ORDER BY id DESC");
$numerocom = @mysql_num_rows($sqlc);
if($pat['comentarios'] == 1) {
$comen = $numerocom."";
} else {
$comen = "0";
echo'
<a href="noticia.php?s=article&id='.$datos[id].'">
<div class="new_bubble">
<div style="float:left">
<div class="new_icon_border">
<div class="new_icon">
<img src="'.$datos[imagen].'" />
<div style="margin-top:-14px; position:absolute; margin-left:36px; width:18px; height:18px; float:left; display:block; background-repeat:no-repeat;"><img src="'.$datos[bandera].'" /></div></div>
<div class="news_comments_ibbz"><div style="font-size:9x;">'.$comen.'</div></div>
</div></div><div style="float:left; width:195px;">
<b><h2 style="font-size:11px; color:#306A94">'.$datos[titulo].'</h2></b><br>
<h3 style="color:#333">'.$datos[descripcion].'</h3></div></div>
</a>
';
}}}
?>
-
Mirando el código, no se si estoy mal..
pero no veo donde hallas definido el array asociativo..
$pat['comentarios']
Usa Mysql_fetch_assoc()
define el array de la variable $pat y cuéntame a ver que tal..
-
Ya lo solucioné, este sería el resultado por si alguien le iciera falta.
$query2 = mysql_query("SELECT * FROM noticias WHERE cat = 'Prueba' ORDER by id DESC LIMIT 6");
$rows2 = mysql_num_rows($query2);
if($rows2 == 0)
{
echo '<div align="center" style="padding:10px; font-size:12px; color:#555">
No hay noticias para mostrar</div>';
}
else
{
while($datos = mysql_fetch_array($query2))
{
$sqlc = @mysql_query("SELECT * FROM comentarios WHERE idnoticia='".$datos['id']."' ORDER BY id DESC");
$numerocom = @mysql_num_rows($sqlc);
$comen = ($numerocom > 0 ? $numerocom."" : "0");
echo'
<a href="noticia.php?s=article&id='.$datos["id"].'">
<div class="new_bubble">
<div style="float:left">
<div class="new_icon_border">
<div class="new_icon">
<img src="'.$datos["imagen"].'" />
<div style="margin-top:-14px; position:absolute; margin-left:36px; width:18px; height:18px; float:left; display:block; background-repeat:no-repeat;"><img src="'.$datos["bandera"].'" /></div></div>
<div class="news_comments_ibbz"><div style="font-size:9x;">'.$comen.'</div></div>
</div></div><div style="float:left; width:195px;">
<b><h2 style="font-size:11px; color:#306A94">'.$datos["titulo"].'</h2></b><br>
<h3 style="color:#333">'.$datos["descripcion"].'</h3></div></div>
</a>
';
}
}
Saludos.