WWWboard4,我的一些看法和...

   最近又拜读了飞鸟的WWWBOARD 4大作,又有飞鸟的一些解释,比BOARD3好读多了,确实是个设计的挺优秀的PRG。我根据我的实际需要,写了一个简装版和一个全部版(内核可全是飞鸟的BOARD4),暂时还没UPLOAD,只是去掉了一些 If pwssys...,If winnt_chinese等。后来觉得飞鸟的程序有的地方可以改一下,现写出来,另加上一些BOARD4的我的心得,供喜欢BOARD4的朋友参考。不知对不对,请飞鸟指正。

飞鸟的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^

时间: 2024-10-11 13:33:44

WWWboard4,我的一些看法和...的相关文章

聊聊Ajax提交form表单的看法和认识_AJAX相关

ajax (ajax开发) AJAX即"Asynchronous Javascript And XML"(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术. AJAX = 异步 JavaScript和XML(标准通用标记语言的子集). AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. 学代码的时间也不短了,但是却很少使用aja

分享个人对于网站友情链接建设的一些看法和经验分享

摘要: 做SEO的人,最珍贵的资源就是外链资源.随着百度.搜搜等搜索引擎不断更新自己的算法,到底外链对于网站排名的是否还是以前那句老话说的那样重要内容为王,外链为皇?笔者今天要 做SEO的人,最珍贵的资源就是外链资源.随着百度.搜搜等搜索引擎不断更新自己的算法,到底外链对于网站排名的是否还是以前那句老话说的那样重要--"内容为王,外链为皇"?笔者今天要同大家分享自己对于网站友情链接建设的一些看法和经验分享. 一.网站的社会属性决定了友情链接的存在 做外链建设,不得不提到友情链接.因为网

聊聊Ajax提交form表单的看法和认识

ajax (ajax开发) AJAX即"Asynchronous Javascript And XML"(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术. AJAX = 异步 JavaScript和XML(标准通用标记语言的子集). AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. 学代码的时间也不短了,但是却很少使用aja

对外链建设的个人看法和见解

摘要: 近一年,可谓是seoer最不平静的一年.从去年年底百度官方公布超级作弊算法升级打击买卖链接开始,到今年的绿萝算法.石榴算法.原创星火计划上线,再到绿萝算法更新至2.0,百度 近一年,可谓是seoer最不平静的一年.从去年年底百度官方公布超级作弊算法升级打击买卖链接开始,到今年的绿萝算法.石榴算法.原创星火计划上线,再到绿萝算法更新至2.0,百度的种种变化都让如今的seo越来越难,更让更多的seo新人无从下手望而止步.百度的这一系列动作,都紧紧围绕着搜索引擎优化最重要的三个因素:内容.外部

传统广告代理对精准营销的看法和实践经验

用完全覆盖的策略来解决大众营销的问题,这是央视黄金段的精准策略.在我们参加招标的十年中,从几千万到几十个亿,尤其最近三年在央视招标过程中采用的较多.我们深切体会到国内众多领导品牌在进行市场传播时,采用一些大家了解不太多的策略.这些策略并不复杂,主要利用央视品牌加屏幕全覆盖,取得非常显著的成效. 这里作为广告代理,我想跟大家分享我们对精准营销的一些看法和经验,先是传统营销是如何看待精准营销的,然后拿一些案例给大家分享. 精准营销的看法 其实,传统加覆盖网络平面的平台,整个营销链条上各环节他们之间相

关于百度外链工具的一些看法和浅谈

近日发现很多文章都在说百度外链工具,今天我也说一下百度外链工具的一些看法.1.10月30日的时候百度发布公告外链工具beta版上线,我们可以在百度外链工具里面查询网站的外链,其实这个对于我们站长来说是非常的一件事情,可以查询自己网站的外链,这也是百度肯定了外链的重要性. 以上是我一个电影网站在百度的外链工具里面所查的外链,但是从这张图不难看出,百度是统计了我的外链总数和外链所发的网站,但是鱿鱼饭仔细的看了一下,发现百度这个外链工具中的外链明显不准确,通过下图我们便知: 我点击其中一个外链,就如上

对选择二层交换机的看法和建议

有位在网络行业工作十年的工程师说,网络建设第一重要的是需求,第二是需求,第三还是需求.可以说,用户需求直接决定了设备的采购.在做出用户需求后,从一个平面的角度做出合理的设备选购. 那么我们应该如何来选择自己所需要的二层交换机呢? 1.背板带宽 背板带宽是指交换机接口处理器或接口卡和数据总线间所能吞吐的最大数据量.我们如何选择合适的背板带宽呢?一台交换机如果可能实现全双工无阻塞交换,那么它的背板带宽值应该大于端口总数×最大端口带宽×2.如果大于,证明这台交换机具有发挥最大数据交换的条件. 2.吞吐

关于程序的一些看法和简单建议

一个人自娱自乐的写个小程序,跟一帮人一起写个大程序.真的是不一样. 自己一个人,根本就不存在交流,相互理解的问题.人越多,理解他人意图,向他人解释意图就越来越花时间.只要是需要交流的任务,并非是人越多越好.有人加入,为了使加入的人有事做,原来的事就要重新划分,而分开之后要配合,又要花时间交流.发觉很多重要的软件开始都是几个人做出来的.而漫画中,进行任务也采用小组模式,好像<幽游>, <猎人>都是四人小组. 这里,最基本的问题就是任务的划分,最理想的划分是相互独立.而要做到这种独立,

关于初学建网站的新人一点点个人看法和经历

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 2009年随着互联网的蓬勃发展,偶也不干落后也学人家建网站.一开始不懂啊就可网上搜罗.慢慢的也知道了一些基础知识.啥叫域名,啥叫空间的.于是偶加了几个QQ群,和高手达人们聊天,逐渐也学到了好多相关知识.首先,建站的基本条件是要有域名和空间.偶没银子啊.怎么办呢,有事偶就可网上搜罗.才知道,原来有免费空间可以试用.于是俺也开始注册了.刚开始偶注