使用PHP查看聊天实现中的消息

时间:2012-04-24 00:28:58

标签: php mysql html ajax

我正在使用PHP,SQL,JavaScript实现聊天。我通过使用window.location.replace('chatlog.php')重新加载相同的文件来检查新消息 因此,每隔一段时间后页面就会重定向到自身。当有更多的消息时,我在侧面有一个滚动条,当页面正在重新加载时,我必须滚动它以查看每次刷新时最后发布的消息,这很难做到。 如何编写代码,以便即使页面重新加载也会显示上次发布的消息?

Some part of the chat.php file is as below

while($record=$mysql_fetch_array($sql))
{
print "<font color="brown">$record[firstname]:</font><font color="black">$record[message]</font>";
}
<script>
setTimeout("window.location.replace('chatlog.php')",2000);
</script>

AJAX可以用来解决这个问题吗?如果是这样,我们该怎么做?

我有另一个问题。我将时间戳存储在sql表中作为年 - 月(以数字表示) - 日期:min:sec 我希望在上午/下午的月份日期显示它(例如2012年4月23日下午5点) 我该如何转换成这个?是否有任何PHP函数可以转换? 请帮忙!!!!!

1 个答案:

答案 0 :(得分:0)

最简单的解决方案是在每条消息上放置一个<a name="msgID_$id">...</a>名称锚点,例如:

<a name="msgID_1">msg 1</a> ...
<a name="msgID_2">msg 2</a> ...
etc...
<a name="msgID_20">msg 20</a> ...

然后嵌入一个刷新,其中包含与您在页面上列出的LAST msg ID对应的锚点:

example.com/msgs.php#msgID_20

当页面刷新时,浏览器将自动滚动到该消息,而新刷新的锚点将具有最新消息的ID(例如#msgID_25)。