账号通
    

账号  

密码  

12138

查看

40

回复
主题:sql 标签唯一缺点 [收藏主题] 本贴被认定为精华 转到:  
wlll 当前离线

236

主题

0

广播

0

粉丝
添加关注
级别:二年级

用户积分:5789 分
登录次数:263 次
注册时间:2006/10/25
最后登录:2017/2/15
wlll 发表于:2007/3/2 8:58:00   | 显示全部帖子 查看该作者主题 楼主 
科汛在线商城系统(NET)

看了此贴,我们今后做网站,就全用sql标签了!!

我用sql标签实现了如下功能:

 
此主题相关图片如下:

上图中,没有最新,和字体颜色,等,这就是,sql标签的唯一缺点:

不能显示字体颜色  和最新标志   

我想实现原理,应当很简单,  在标签replace完后,再根据时间判断  加上最新标志即可.

看到版主如此赏识在下,我就写出来.

《有关sql标签的改进》

Modify by wlll  qq58503239    2007.3.3

请放心使用代码,已经过严格测试!!!做出的效果,如下:

 
此主题相关图片如下:

Sql标签的唯一缺点是,写出来的标签缺少了:

Rs(“titletype”)

Rs(“titlefontcolor”)

Rs(“titefonttype”)

Rs(“showcomment”)

Rs(“coment”)

Rs(“popular”)

Rs(“adddate”)

上述七个字段。也即,缺少了这七个字段,将导致:

[图文]  [组图]  [推荐]  [注意]  新闻标题颜色,加粗,斜体

标题后显示评论二字    如果是本日加的显示new.gif图片,以及hot.gif图片

这些属性丢失。

本文将这些属性加进来,使作出来的标签有这些特性。

以下是修改方法:

打开:KS_Cls/KS_RefreshCls.asp文件,找到:(大约在288行左右)

              '替换循环部分内容
   

              Function GetCirLabelContent(CirLabelContent,ByRef KS_RS_Obj,LoopTimes)

这个函数,我们便在里面作手术:

314行左右:

        Case "text"
          ReturnFieldValue=Get_Text_Field(DB_FieldValue,FieldParamArr(2),FieldParamArr(3),FieldParamArr(4),FieldParamArr(5))

'Modify by wll 2007.3.3 ====================================================
if lcase(FieldName) = "title" then        '如果当前字段名为title,即文章标题,这里没考滤到别的表是不是也用了title作为字段名
 on error resume next         '如果你在建立sql标签里,没有选titletype,titlefontcolor,titlefonttype字段,定要出错,这里用这句解决
 ReturnFieldValue = KMRFObj.GetArticleTitle(ReturnFieldValue, Len(ReturnFieldValue), True, KS_RS_Obj("TitleType"), KS_RS_Obj("TitleFontColor"), KS_RS_Obj("TitleFontType"))
 
 on error resume next         '还用到了tid和newsid字段
 If KS_RS_Obj("ShowComment") = 1 And KS_RS_Obj("Comment") = 1 Then
      ReturnFieldValue = ReturnFieldValue & " <a href=""" & DomainStr & "Comment.asp?ChannelID=1&Classid=" & Trim(KS_RS_Obj("Tid")) & "&InfoID=" & KS_RS_Obj("NewsID") & """ target=""_blank"">评论</a>"
 Else
      ReturnFieldValue = ReturnFieldValue & ""
 End If
 on error resume next
 If  (Year(KS_RS_Obj("AddDate"))&Month(KS_RS_Obj("AddDate"))&Day(KS_RS_Obj("AddDate")) = Year(Now)&Month(Now)&Day(Now)) Then
 
      ReturnFieldValue = ReturnFieldValue & "<img src=""" & DomainStr &"images/new.gif"" border=""0""/>"
 
 Else
 
      ReturnFieldValue = ReturnFieldValue & ""
 End if   
 
 '由于showhotflag不是ks_article表格里的字段,所以,我也加不进热门标志了
 'If Cbool(ShowHotFlag)=True And RS("Popular")=1 Then HotImgStr="<img src=""" & DomainStr & "images/hot.gif"" border=""0""/>" Else HotImgStr=""

end if
'Modify by wll 2007.3.3 ====================================================
         
        Case "num"
          ReturnFieldValue=Get_Num_Field(DB_FieldValue,FieldParamArr(2),FieldParamArr(3))

====================================================================

使用方法:

每次构造sql语句时

titletype

titlefontcolor

titefonttype

showcomment

showcomment

showcomment

showcomment

coment 

popular

adddate

 

还有:

tidnewsid

字段。总之共9个字段,不要忘记加在sql语句里!!

例如:

select ID,Tid,Title,Picurl,Author,Adddate,Comment,NewsID,PicNews,Popular,Recommend,ShowComment,TitleFontColor,TitleFontType,TitleType,Hits from KS_Article  where tid in({$CurrClassChildID})  order by id desc

 便是一个完好的语句.

========================================

问题1:如果,我在构造sql语句时,没有选上述9个字段或其一,会不会,出错?

答:不会,和原来一样.因为有on error resume next

问题2:采用上述后,做出的效果:

 


此主题相关图片如下:

问题3:我在添加新闻时,标注了 推荐二字,为什么显示不出来?

答:这是官方系统的一个bug,问题出在:(KS_RefreshFunctionCls.asp文件里)


此主题相关图片如下:

 

 

下载此处:

 



祝各位新年新气象!!做网站全采用sql标签,想哪么做,就哪么做,只要你想的到,就一定做的到.比如,上述间灰间白.

[此贴子已经被作者于2007-3-3 17:00:40编辑过]

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
wlll 当前离线

236

主题

0

广播

0

粉丝
添加关注
级别:二年级

用户积分:5789 分
登录次数:263 次
注册时间:2006/10/25
最后登录:2017/2/15
wlll 发表于:2007/3/3 17:59:00   | 显示全部帖子 查看该作者主题 沙发 
科汛智能建站系统

sql 标签的第二个缺点是:

不能应用于blog,留言,这些表,目前,只支持ks_article,官方可考虑吗?

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
wlll 当前离线

236

主题

0

广播

0

粉丝
添加关注
级别:二年级

用户积分:5789 分
登录次数:263 次
注册时间:2006/10/25
最后登录:2017/2/15
wlll 发表于:2007/3/3 17:02:00   | 显示全部帖子 查看该作者主题 藤椅 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
wlll 当前离线

236

主题

0

广播

0

粉丝
添加关注
级别:二年级

用户积分:5789 分
登录次数:263 次
注册时间:2006/10/25
最后登录:2017/2/15
wlll 发表于:2007/3/3 17:02:00   | 显示全部帖子 查看该作者主题 板凳 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
wlll 当前离线

236

主题

0

广播

0

粉丝
添加关注
级别:二年级

用户积分:5789 分
登录次数:263 次
注册时间:2006/10/25
最后登录:2017/2/15
wlll 发表于:2007/3/3 18:58:00   | 显示全部帖子 查看该作者主题 报纸 
做在线知识付费 选科汛云开店

里面有一句len(

请换成

KSCMS.strLength(

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
wlll 当前离线

236

主题

0

广播

0

粉丝
添加关注
级别:二年级

用户积分:5789 分
登录次数:263 次
注册时间:2006/10/25
最后登录:2017/2/15
wlll 发表于:2007/3/3 22:27:00   | 显示全部帖子 查看该作者主题 地板 
科汛在线网校系统
以下是引用monfs在2007-3-3 22:08:27的发言:

最后测试成功  通用化成功!

select top {$Param(0)} ID,Tid,Title,Hits from KS_Article where datediff('h',adddate,now())<={$Param(1)} and Tid in('{$Param(2)}','{$Param(3)}','{$Param(4)}') order by Hits Desc

大家参考哈!

不错

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
wlll 当前离线

236

主题

0

广播

0

粉丝
添加关注
级别:二年级

用户积分:5789 分
登录次数:263 次
注册时间:2006/10/25
最后登录:2017/2/15
wlll 发表于:2007/3/3 21:41:00   | 显示全部帖子 查看该作者主题 7楼 
科汛在线商城系统(NET)
以下是引用monfs在2007-3-3 21:34:56的发言:

现在实现了!

select top 10 ID,Tid,Title,Hits from KS_Article where datediff('h','2004-12-10',now())>=48 order by Hits Desc

可以达到阅读排行的目的!

高手!学习  真是毒神现体,天下无敌
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
wlll 当前离线

236

主题

0

广播

0

粉丝
添加关注
级别:二年级

用户积分:5789 分
登录次数:263 次
注册时间:2006/10/25
最后登录:2017/2/15
wlll 发表于:2007/3/3 20:35:00   | 显示全部帖子 查看该作者主题 8楼 
科汛在线网校系统
以下是引用monfs在2007-3-3 19:49:57的发言:
select ID,Tid,Title,Adddate from KS_Article where Adddate like '%date()%' order by Hits desc

select ID,Tid,Title,Adddate from KS_Article where Adddate like '%now()%' order by Hits desc

select ID,Tid,Title,Adddate from KS_Article where Adddate like '%getdate()%' order by Hits desc

都不能实现今日排行!  郁闷ing!

 好像,里面,将%号等符号过滤掉了

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
wlll 当前离线

236

主题

0

广播

0

粉丝
添加关注
级别:二年级

用户积分:5789 分
登录次数:263 次
注册时间:2006/10/25
最后登录:2017/2/15
wlll 发表于:2007/3/3 17:51:00   | 显示全部帖子 查看该作者主题 9楼 
科汛在线网校系统
以下是引用monfs在2007-3-3 17:02:14的发言:

我测试  除了new的功能实现外 其他的功能均没有成功!

请重新下载代码!!我刚才更新了一下.

[此贴子已经被作者于2007-3-3 17:54:42编辑过]

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
wlll 当前离线

236

主题

0

广播

0

粉丝
添加关注
级别:二年级

用户积分:5789 分
登录次数:263 次
注册时间:2006/10/25
最后登录:2017/2/15
wlll 发表于:2007/3/3 17:54:00   | 显示全部帖子 查看该作者主题 10楼 
科汛在线考试系统(NET)
以下是引用monfs在2007-3-3 17:32:56的发言:
你是用表格做的吗?    你是如何用sql实现每行不同颜色?

css啊

tr.bfzxwlltr2 {background-color:expression((this.sectionRowIndex%2==0)?"white":"#f1f1f1")}

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
<上一主题 | 下一主题 >
Powered By KesionCMS Version X1
厦门科汛软件有限公司 © 2006-2016 页面执行0.45703秒 powered by KesionCMS 9.0