Que tal j_r_r94,
Creo el problema esta en usar or die en el while, si no cuentas con registros el lo imprimirá. No sé porque razón lo uses ahí, lo he visto usar en la línea del mysql_query si manda error en la sentencia sin embargo al recorrerlo no.
Algo así:
Código PHP:
Ver original<?php
if (isset($_REQUEST['id']) && $_REQUEST['id']!= '') { //este es el otro perfil
$mensaje=mysql_query("SELECT ch.mensaje,uu.nombre, uu.apellido, ch.fecha,uu.url,ch.id,ch.idpersona, ch.alias FROM `chat` ch INNER JOIN usuarios u on ch.alias=u.id INNER JOIN usuarios uu on ch.alias=uu.id WHERE (ch.alias=$_REQUEST[id] and ch.idpersona=ch.alias) or ( ch.alias=$_REQUEST[id] and ch.alias<>u.id) ORDER BY fecha DESC" ) ; echo "";
if($row['id']==$_SESSION['id']){
echo "<div align='right'><img src='iconos/eliminar.png' width='15px' height='15px' '> </div>";
}
echo "<div id='boxcoment'>
<p align='left'> <img src='".$row['url']."' width='40px' height='40px' valign='middle'/>"."<b>".$row['nombre']." ".$row['apellido']."</b><br>".$row['fecha']. "</p>".$row['mensaje']." </td></tr></div>"."<br>";
}
}
else
{
//mi perfil
//deben aparecer mis comentarios y los que otros me han comentado a mi
$mensaje=mysql_query("SELECT ch.mensaje,uu.nombre, uu.apellido, ch.fecha,uu.url,ch.id,ch.idpersona,ch.alias FROM `chat` ch INNER JOIN usuarios u on ch.alias=u.id INNER JOIN usuarios uu on ch.alias=uu.id WHERE (ch.alias=$_SESSION[id] and ch.idpersona=ch.alias) or (ch.alias=$_SESSION[id] and ch.alias<>u.id) ORDER BY fecha DESC" ) or
die("Error en: $mensaje: " . mysql_error()); }
echo"<div align='right'><img src='iconos/eliminar.png' width='15px' height='15px' onclick='eliminar_comentario($row[id_comentario])'> </div>
<div id='boxcoment'>
<p align='left'> <img src='".$row['url']."' width='40px' height='40px' valign='middle'/>"."<b>".$row['nombre']." ".$row['apellido']."</b><br>".$row['fecha']. "</p>".$row['mensaje']." </td></tr></div>"."<br>";
}
?>
Saludos,