0

我正在使用 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 表中将时间戳存储为年-月(数字)-日期小时:分钟:秒我想在上午/下午时间以月份日期显示它(例如,2012 年 4 月 23 日下午 5 点)我如何转换为这个? 有没有要转换的php函数?请帮忙 !!!!!

4

1 回答 1

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)。

于 2012-04-24T00:46:56.477 回答