WWWboard4,我的一些看法和...
2008-04-09 04:13:46来源:互联网 阅读 ()
飞鸟的BOARD主要在数据库结构,结构的说明飞鸟已经讲了,我不在叙述。
List.ASP语句:
1、先取出根帖(字段Parentid=0),并将得到的记录集反序排列
Select announceid,boardid from announce Where boardid="&boardid&" and parentid=0 ORDER BY announceid DESC
2、利用Getrows从记录集中选出20条根帖,存入到rootid数组中。
3、选出rootid数组中的Announceid,形成如同(1,2,3,4,5,.....20)的格式,
(飞鸟:有个判断语句:If Ubound(rootid)>1好象不要也可以吧)
4、因为每一组讨论的话题(根帖-父帖-子帖)它们都拥有一个相同的Rootid,Rootid之间的关系:
子帖(rootid)=父帖(rootid)=根帖的(rootid)=根帖的(announcdid),(这个在存储子帖时注意一下)明白这点很重要,所以飞鸟用:
select AnnounceID,parentID,child,boardID,userID,UserName,UserEmail,URL,URLTitle,URLPic,Topic,DateAndTime,hits,length,RootID,layer,orders from Announce where BoardID="&cstr(boardID)&" and ( rootID in "&selStr& " ) ORDER BY rootID desc,orders "
将这20条根帖及其所有子帖一股脑儿的全带了出来,相同的Rootid靠Orders升序排序,
5、记住layer只是控制层的, eg:我给你写了一个回复帖,那么我就是你的子帖->layer 1,但还要把最新加入的帖子放在最上面显示,这就靠orders了,因为orders采用的是升序排列,那么就提取出父帖的rootid,orders 将同一组(rootid)且orders>父帖的orders的Orders值加 1,就可以实现了,只不过写的时候倒过写:
conn.execute "update announce set orders=orders 1 where rootid="&cstr(RootID)&" and orders>"&cstr(iOrders)
Orders=Orders 1
6、关于控制缩进的layer,那就用数值套进去算吧,马上就明白了。
7、飞鸟tree.inc有些变量没用上,删除吧!
8、飞鸟判断一个用户是否新用户,用了循环。我用:
dim newuser,rs,SQL
newuser=false
Set rs=Server.CreateObject("ADODB.Recordset")
SQL="Select * from user Where Ucase(username)='"&Ucase(username)&"'"
rs.open SQL,connmdb,1,3
If rs.eof then
rs.addnew
newuser=true
rs("username")=username
rs("userpassword")=userpassword
rs.update
If err then
founderr=true
message="对不起,操作数据库失败,请稍侯再试"
showmessage(message)
Else
userid=rs("userid")
End If
Else
If rs("userpassword")<>userpassword then
founderr=true
message="您的密码不正确(可能该名字被他人占用了,请尝试用别的名字)"
showmessage(message)
Else
userid=rs("userid")
End IF
End If
9、对了飞鸟,Announce表中,"Userid"字段好象起不到作用,是不是可以CUT掉,因为表中已经有了"username","useremail"字段。
xixi,罗嗦了一通 ^O^
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash