He creado un sistema noticias, dedes un panel de administracion... un conteo de mensajes para cada noticia, calificacion para cada noticia, etc...
Pero a la hora de mostrar los comentarios de cada usuario todos me aparecen iguales (usuario, permisos, puntos y total de posts)

Como se puede apreciar en la captura, un usuarios es djboro y es ADMIN y otro es paco que es Usuario registrado.
Por lo que se ve el fallo esta en la consulta o en el while...
Solo me carga los datos del último mensaje.
La tabla es la siguiente.
COMENTARIOS
idcomentarios, idnoticias, idusuarios, comentario, fecha
Os dejo el codigo de los ver-noticia.php y comentarios.php:
Código PHP:
<?php
session_start();
include("config.php");
$id = $_GET['id']; //ID DE LA NOTICIA
//CARAGAR DATOS DESDE BD
$sql_ver = mysql_query("SELECT * FROM noticias WHERE idnoticias='$id' ORDER BY fecha DESC");
$noticia = mysql_fetch_array($sql_ver);
//CONTAR TOTAL COMENTARIOS
$sql = "SELECT idcomentarios FROM comentarios WHERE idnoticias='$id'";
$result = mysql_query($sql);
$numero = mysql_num_rows($result);
//DATOS DE LOS COMENTARIOS
$sql_dat_coment = mysql_query("SELECT * FROM comentarios WHERE idnoticias='$id'");
$datos = mysql_fetch_array($sql_dat_coment);
$idusuariocoment = $datos['idusuarios'];
//ID DE USUARIOS
$sql_usuario = mysql_query("SELECT nick, avatar, tpost, puntos, estado FROM usuarios, comentarios, noticias WHERE usuarios.idusuarios=comentarios.idusuarios");
$usuario = mysql_fetch_array($sql_usuario);
$puntos = $usuario['puntos'];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="EN" lang="EN" dir="ltr">
<title>FORMAT HOME: <?php if(!isset($id)){ echo "Todas las Noticias y Novedades";
}else{ echo $noticia['titulo']; } ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf8" />
<link rel="stylesheet" href="styles/layout.css" type="text/css" />
<!-- COMENTARIOS -->
<script type="text/javascript" src="editor/nicEdit.js"></script>
<script type="text/javascript">
bkLib.onDomLoaded(function() {
new nicEditor({fullPanel : true}).panelInstance('area1');
});
</script>
</head>
<body id="top">
<!-- BIENVENIDO E IDIOMA -->
<?php include('logidioma.php'); ?>
<!-- TITULO -->
<?php include('titulologo.php'); ?>
<!-- MENU SUPERIOR -->
<div class="wrapper col3">
<div id="topnav">
<ul>
<li><a href="index.php">Inicio</a><span>Página Principal</span></li>
<li class="active"><a href='ver-noticia.php'>Noticias</a><span>noticias y novedades</span></li>
<?php if(!isset($_SESSION["nick"])){
echo "<li><a href='conectarse.php'>Conectarse</a><span>Iniciar Sesión</span></li>";
echo "<li><a href='registro.php'>Registrarse</a><span>crear nueva cuenta</span></li>";
} else {
echo "<li><a href='mi-perfil.php'>Mi Perfil</a><span>editar detalles</span></li>";
echo "<li><a href='canjear-puntos.php'>Cajero</a><span>canjea tus puntos</span></li>";
echo "<li><a href='cerrar-sesion.php'>Cerrar Sesión</a><span>desconectarme</span></li>";
}
?>
</ul>
<br class="clear" />
</div>
</div>
<!-- LEER NOTICIA COMPLETA -->
<div class="wrapper col5">
<div id="container">
<div id="content">
<?php if(isset($id)){
echo "";
}else{
//Sentencia sql (sin limit)
$_pagi_sql = "SELECT * FROM noticias ORDER BY fecha DESC";
//cantidad de resultados por página (opcional, por defecto 20)
$_pagi_cuantos = 10;
//Incluimos el script de paginación. Éste ya ejecuta la consulta automáticamente
include("paginator.inc.php");
echo "<h2>Todas las Noticias y Novedades</h2>";
echo "<table border='0'><tr style='background:#4C4C4E; color:#fff;'>";
echo "<td width='10%' align='center'><b>Imágen</b></td>";
echo "<td width='25%' align='center'><b>Título</b></td>";
echo "<td width='60%' align='center'><b>Descripción</b></td>";
echo "<td width='5%' align='center'><b>Opciones</b></td>";
echo "</tr>";
//Leemos y escribimos los registros de la página actual
while($row = mysql_fetch_array($_pagi_result)){
echo "<tr><td align='center'><img src='".$row['imagen']."' width='45' ></td>";
echo "<td align='center'><p><strong>".$row['titulo']."</p></strong></td>";
echo "<td align='center'><p>".$row['breve']."</p></td>";
echo "<td align='center'><a href='ver-noticia?id=".$row['idnoticias']."'><img src='images/varios/leer.gif' alt='Leer Noticia' title='Leer Noticia'></a></td></tr>";
}
echo "</table>";
//Incluimos la barra de navegación
if ($_pagi_totalPags == '1'){
echo "";
}else{
echo"<p>".$_pagi_navegacion."</p>";
}
}
?>
<h2><?php if(isset($id)) echo $noticia['titulo']; ?></h2>
<table width="100%" border="0">
<tr>
<td rowspan="3" width="5%" style="vertical-align:top;" align="center">
<img src="<?php echo $noticia['imagen']; ?>" width='100' alt="<?php echo $noticia['titulo']; ?>" title="<?php echo $noticia['titulo']; ?>">
<br>
<br>
<?php if(isset($_SESSION["nick"])){
echo "<a href='puntunegativo?noticia=".$noticia['idnoticias']."' target='_blank' onClick=\"window.open(this.href, this.target, 'width=550,height=140'); return false;\"><img src='images/varios/negativo.gif' alt='Voto Negativo' title='Voto Negativo'></a> ";
if($noticia['puntua'] == '0'){
echo "<font size='3' color='#000000'><b>".$noticia['puntua']."</b></font>";
}else if($noticia['puntua'] > '0'){
echo "<font size='3' color='green'><b>".$noticia['puntua']."</b></font>";
}else{
echo "<font size='3' color='#FF0000'><b>".$noticia['puntua']."</b></font>";
}
echo " <a href='puntupositivo?noticia=".$noticia['idnoticias']."' target='_blank' onClick=\"window.open(this.href, this.target, 'width=550,height=140'); return false;\"><img src='images/varios/positivo.gif' alt='Voto Positivo' title='Voto Positivo'></a>";
}
?>
</td>
<td width="65%"><b><?php echo $noticia['breve']; ?></b></td>
<td width="30%" align="right"><?php if(isset($id)) echo "Publicado: ".$noticia['fecha']; ?></td>
</tr>
<tr>
<td colspan="3" style="text-align:justify;"><?php echo $noticia['mensaje']; ?></td>
</tr>
<tr>
<td colspan="2"><?php if(isset($id)) echo "<b><i>Comentarios</i> (".$numero.")</b>"; ?></td>
</tr>
</table>
<!-- SOLO LOS USUARIOS REGISTRADOS PUEDEN COMENTAR -->
<?php
if(isset($id))
if(!isset($_SESSION["nick"])){
echo "<b>Solo los <a href='registro.php'>Usuarios Registrados</a> pueden comentar las noticias.</b>";
echo "<br><br>";
}else{
echo "<h2>Escribir Comentario</h2>";
echo "<form method='POST' action='comentar.php'>";
//CAMPOS OCULTOS
echo "<input type='hidden' id='idnoticia' name='idnoticia' value='".$id."'>";
echo "<input type='hidden' id='tpost' name='tpost' value='".$usuario['tpost']."'>";
echo "<input type='hidden' id='puntos' name='puntos' value='".$usuario['puntos']."'>";
//CAMPO DEL COMENTARIO
echo "<textarea id='area1' name='texto' cols='65' rows='8' style='width:100%;'></textarea>";
echo "<br><div align='right'><input type='submit' name='enviar' id='enviar' value='Enviar Comentario'/></div></form>";
}
?>
<!-- COMENTARIOS -->
<?php include('comentarios.php'); ?>
</div>
<!-- NOTICIAS -->
<?php include('noticias.php'); ?>
<br class="clear" />
</div>
</div>
<!-- FOOTER -->
<?php include('footer.php'); ?>
<!-- COPYRIGHT -->
<?php include('copyright.php'); ?>
</body>
</html>
Código PHP:
<?php
//Sentencia sql (sin limit)
$_pagi_sql = "SELECT * FROM comentarios WHERE idnoticias='$id' ORDER BY idcomentarios DESC";
//cantidad de resultados por página (opcional, por defecto 20)
$_pagi_cuantos = 5;
//Incluimos el script de paginación. Éste ya ejecuta la consulta automáticamente
include("paginator.inc.php");
//Leemos y escribimos los registros de la página actual
if(isset($id))
if ($datos['idcomentarios'] == NULL OR ''){
echo "<h2>No hay comentarios</h2>";
}else{
echo "<a name='nuevo' style='color:#666666;'><h2>Comentarios</H2></a>";
}
while($datos = mysql_fetch_array($_pagi_result)){
echo "<table width='100%' style='border: 1px solid' cellpadding='0' cellspacing='0'>";
echo "<tr style='background:#4C4C4E; color:#fff;'>";
echo "<td width='12%' align='center'>".$usuario['nick']."</td>";
echo "<td width='40%'>";
switch ($usuario['estado']) {
case '1':
echo "<b>Usuario Registrado</b>";
case '9':
echo "<font color='#FF3F4C'><b>Administrador</b></font color>";
}
echo "</td>";
echo "<td width='18%'>Posts: ".$usuario['tpost']."</td>";
echo "<td width='18%'>Puntos: ".$usuario['puntos']."</td>";
echo "</tr>";
echo "<tr>";
echo "<td width='12%' rowspan='2' style=vertical-align:top;'><img src='".$usuario['avatar']."' width='80'></td>";
echo "<td style='text-align:justify;' colspan='3'>".$datos['comentario']."</td>";
echo "</tr>";
echo "<tr>";
echo "<td colspan='3' align='right'>Publicado: ".$datos['fecha']."</td>";
echo "</tr>";
echo "</table>";
}
//Incluimos la barra de navegación siempre y cuando tenga como mínimo la cantida deseada.
if ($_pagi_totalPags == '1'){
echo "";
}else{
echo"<p>".$_pagi_navegacion."</p>";
}
?>