Autor Tema: [Ayuda] Contar comentarios  (Leído 593 veces)

Desconectado MaNuX

  • PHPero Avanzado
  • ****
  • Mensajes: 385
  • Karma: 4
  • Sexo: Masculino
  • PHP & MySQL
    • Ver Perfil
    • CliKys
[Ayuda] Contar comentarios
« 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:
Código: [Seleccionar]
$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.


Comunidad PHPeros

[Ayuda] Contar comentarios
« en: 21 de Abril de 2013, 13:31:05 pm »

Desconectado javipilo

  • PHPero Experto
  • *****
  • Mensajes: 975
  • Karma: 31
  • Sexo: Masculino
    • Ver Perfil
Re:[Ayuda] Contar comentarios
« Respuesta #1 en: 21 de Abril de 2013, 13:46:01 pm »
Código: [Seleccionar]
$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

Desconectado MaNuX

  • PHPero Avanzado
  • ****
  • Mensajes: 385
  • Karma: 4
  • Sexo: Masculino
  • PHP & MySQL
    • Ver Perfil
    • CliKys
Re:[Ayuda] Contar comentarios
« Respuesta #2 en: 21 de Abril de 2013, 13:50:05 pm »
Así estaría bien... Saludos

Pues no me suma los comentarios en cada noticia, aparece en 0


Desconectado javipilo

  • PHPero Experto
  • *****
  • Mensajes: 975
  • Karma: 31
  • Sexo: Masculino
    • Ver Perfil
Re:[Ayuda] Contar comentarios
« Respuesta #3 en: 21 de Abril de 2013, 16:00:51 pm »
Código: [Seleccionar]
$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

Desconectado MaNuX

  • PHPero Avanzado
  • ****
  • Mensajes: 385
  • Karma: 4
  • Sexo: Masculino
  • PHP & MySQL
    • Ver Perfil
    • CliKys
Re:[Ayuda] Contar comentarios
« Respuesta #4 en: 21 de Abril de 2013, 16:05:49 pm »
Código: [Seleccionar]
$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
Código: [Seleccionar]
<?

$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>
';
}}}
?>
« Última modificación: 21 de Abril de 2013, 16:08:08 pm por MaNuX »


Desconectado Rastrillox

  • PHPero Experto
  • *****
  • Mensajes: 592
  • Karma: 25
  • Sexo: Masculino
    • Ver Perfil
    • Forhabbo.es
Re:[Ayuda] Contar comentarios
« Respuesta #5 en: 22 de Abril de 2013, 01:09:21 am »
Mirando el código, no se si estoy mal..
pero no veo donde hallas definido el array asociativo..
Citar
$pat['comentarios']

Usa Mysql_fetch_assoc()
define el array de la variable $pat y cuéntame a ver que tal..

Desconectado MaNuX

  • PHPero Avanzado
  • ****
  • Mensajes: 385
  • Karma: 4
  • Sexo: Masculino
  • PHP & MySQL
    • Ver Perfil
    • CliKys
Re:[Ayuda] Contar comentarios
« Respuesta #6 en: 22 de Abril de 2013, 09:33:51 am »
Ya lo solucioné, este sería el resultado por si alguien le iciera falta.

Código: [Seleccionar]
    $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.