设计聊天室
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-10
的记录是最新输入的记录,每添加一个记录,ID自动加1,由此,我们可通过ID来对用户的话进行从新到旧的、一句一句的排序输出。我们知道,在 SQL 的SELECT 语中有一个 ORDER BY的子句,他按一列或多列对结果进行升序或降序排序。如果我们不用ORDER BY 字句,那SELECT 默认为升序输出,那我们会看到,最旧的发言总是在前面显示,而最新的语句则跑到最后面去,那当然不是我们所希望的。 2、再一点,那就是用户不断的往数据库中输入语句,数据库将会变得越来越大,而我们为了速度,我们不能也不必要读取全部的记录把所有的话显示出来,我们只需要看到最新的N句话比如最新的50句话就够了。如何实现上面两点,且来看看范例程序: 我们来分析一下下面的程序: chatview.asp <%Response.Buffer=true%> 设置缓存为真 <% 指定数据库 Set Conn=Server.CreateObject("ADODB.Connection") Connstr="DBQ="+server.mappath("chat.mdb")+";DRIVER={Microsoft Access Driver (*.mdb)};" Conn.Open connstr %> <% sql="SELECT * FROM 聊天表 ORDER BY ID DESC" 降序输出查询结果 Set rootRs=conn.Execute(sql) set name=rootrs("姓名") 从数据库中获取姓名、说话、颜色、表情等 set word=rootrs("说话") set colo=rootrs("颜色") set face=rootrs("表情") set who=rootrs("说话对象") %> <%i=0%> 定义输出记录数 i <%Do While Not rootRs.Eof and i<=50%> 显示50句话,包括姓名、话语、颜色、表情等 <%i=i+1%>
<%rootRs.MoveNext Loop%> 每四秒钟刷新一次 请把此程序存为chatview.asp 我们试着在客户端用浏览器打开chatview.asp,我们果然看到自动刷新的页面,不错吧!下面,我们就要考虑如何把发言部分与刷新部分在同一个页面上显示:那需要用到框架。 框架,那是最简单不过的了,直接用FrontPage即可构建。请看如下代码: 请把这个程序存为chat.asp 哈哈,现在,我们在客户端输入:http://XXX.XXX/chat.asp 于是,便可以开始聊天了! 当很多人进入聊天室,把大量的话写入了我们的数据库中,于是,我们的数据库越来越大,记录越来越多, 而ACCESS数据库大小是有限制的,因此,总会有崩溃的一天,由此,我们必须使数据库大到一定程度的时候自动提醒我们,让我们删除掉比较旧的N条话语。或者让数据库自动到某一定大小时自动删除部分记录。 当一些不文明之徒进入聊天室,发布一些反动言论,我们必须把他踢掉,或者禁止他的IP,禁止N个钟头,尚或把他的IP列入黑名单,让他永远无法进入。 关键词: |
|||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 群球汇聚的效果下一篇: 格式化日期类SimpleDateFormat
关于设计聊天室的所有评论