asp下tag的实现,简单介绍与部分代码
程序员文章站
2023-11-24 19:54:10
标签(tag)是什么? 标签是一种更为*、灵活,完全由用户决定的分类方式,而非传统的由网站定义的分类。您可以根据自己的理解,对发表的文章、上传的图片、音乐、视频等各种文件...
标签(tag)是什么?
标签是一种更为*、灵活,完全由用户决定的分类方式,而非传统的由网站定义的分类。您可以根据自己的理解,对发表的文章、上传的图片、音乐、视频等各种文件添加一个或多个标签,进行灵活的描述。
添加标签(tag)有什么作用?
标签体现了群体的力量,使得用户之间可以通过相近的内容产生更多的关联和互动。您在发表日志或上传文件时添加了tag ,就可以看到woku.com所有和您使用了相同tag 的日志和文件。
标签频道中不同大小、粗细的文字代表什么?
使用不同大小、粗细字体的标签,代表着标签不同的使用频率。字体越大、越粗,说明这些标签的使用频率越高。
添加标签时需要注意些什么?
① 多个标签之间请用空格分隔。
② 每个标签的最大长度为 10 个汉字。
③ 每篇日志或每个文件最多只能添加10个标签,这包括您自己以及其他用户添加的标签。
我可以在别人发表的日志和文件中添加标签吗?
您可以根据浏览对象的阅读权限来判断是否可以添加标签。公开的日志或文件,所有用户都可以添加标签;仅供好友浏览的日志,只有好友和作者能添加标签;仅作者可以浏览的日志或文件,只有作者能够添加标签。当然,无论是谁添加的标签,都只有该日志或文件的作者可以修改或删除这些标签。
所以呢我找了些实现tag功能的asp代码,仅供参考
'*********************************************************
' 目的: 定义ttag类
' 输入: 无
' 返回: 无
'*********************************************************
class ttag
public id
public name
public intro
public order
public count
public property get encodename
encodename = server.urlencode(name)
end property
public property get url
url = zc_blog_host & "catalog.asp?"& "tags=" & server.urlencode(name)
end property
public property get htmlurl
htmlurl=transferhtml(url,"[html-format]")
end property
public property get htmlintro
htmlintro=transferhtml(intro,"[html-format]")
end property
public property get htmlname
htmlname=transferhtml(name,"[html-format]")
end property
public property get rssurl
rssurl = zc_blog_host & "sydication.asp?tags=" & id
end property
public function post()
call checkparameter(id,"int",0)
call checkparameter(order,"int",0)
name=filtersql(name)
name=transferhtml(name,"[normalname]")
if len(name)=0 then post=false:exit function
intro=filtersql(intro)
intro=transferhtml(intro,"[html-format]")
if id=0 then
objconn.execute("insert into [blog_tag]([tag_name],[tag_order],[tag_intro]) values ('"&name&"',"&order&",'"&intro&"')")
else
objconn.execute("update [blog_tag] set [tag_name]='"&name&"',[tag_order]="&order&",[tag_intro]='"&intro&"' where [tag_id] =" & id)
end if
post=true
end function
public function loadinfobyid(tag_id)
call checkparameter(tag_id,"int",0)
dim objrs
set objrs=objconn.execute("select [tag_id],[tag_name],[tag_intro],[tag_order],[tag_count] from [blog_tag] where [tag_id]=" & tag_id)
if (not objrs.bof) and (not objrs.eof) then
id=objrs("tag_id")
name=objrs("tag_name")
intro=objrs("tag_intro")
order=objrs("tag_order")
count=objrs("tag_count")
loadinfobyid=true
end if
objrs.close
set objrs=nothing
if isnull(intro) then intro=""
end function
public function loadinfobyarray(arytaginfo)
if isarray(arytaginfo)=true then
id=arytaginfo(0)
name=arytaginfo(1)
intro=arytaginfo(2)
order=arytaginfo(3)
count=arytaginfo(4)
end if
if isnull(intro) then intro=""
loadinfobyarray=true
end function
public function del()
call checkparameter(id,"int",0)
if (id=0) then del=false:exit function
dim s
dim i
dim objrs
set objrs=server.createobject("adodb.recordset")
objrs.cursortype = adopenkeyset
objrs.locktype = adlockreadonly
objrs.activeconnection=objconn
objrs.source=""
objrs.open("select [log_id],[log_tag] from [blog_article] where [log_tag] like '%{" & id & "}%'")
if (not objrs.bof) and (not objrs.eof) then
do while not objrs.eof
i=objrs("log_id")
s=objrs("log_tag")
s=replace(s,"{"& id &"}","")
objconn.execute("update [blog_article] set [log_tag]='"& s &"' where [log_id] =" & i)
objrs.movenext
loop
end if
objrs.close
objconn.execute("delete from [blog_tag] where [tag_id] =" & id)
del=true
end function
public function maketemplate(s)
s=replace(s,"<#article/tag/id#>",id)
s=replace(s,"<#article/tag/name#>",htmlname)
s=replace(s,"<#article/tag/intro#>",htmlintro)
s=replace(s,"<#article/tag/count#>",count)
s=replace(s,"<#article/tag/url#>",htmlurl)
s=replace(s,"<#article/tag/encodename#>",encodename)
maketemplate=s
end function
end class
'*********************************************************
'*********************************************************
' 目的: tags读取
'*********************************************************
function gettags()
dim i,j,k,l
dim aryalldata
dim arysingledata()
erase tags
dim objrs
set objrs=objconn.execute("select top 1 [tag_id] from [blog_tag] order by [tag_id] desc")
if (not objrs.bof) and (not objrs.eof) then
i=objrs("tag_id")
redim tags(i)
end if
set objrs=objconn.execute("select [tag_id],[tag_name],[tag_intro],[tag_order],[tag_count] from [blog_tag] order by [tag_id] asc")
if (not objrs.bof) and (not objrs.eof) then
aryalldata=objrs.getrows(objrs.recordcount)
objrs.close
set objrs=nothing
k=ubound(aryalldata,1)
l=ubound(aryalldata,2)
for i=0 to l
set tags(aryalldata(0,i))=new ttag
tags(aryalldata(0,i)).loadinfobyarray(array(aryalldata(0,i),aryalldata(1,i),aryalldata(2,i),aryalldata(3,i),aryalldata(4,i)))
next
end if
gettags=true
end function
标签是一种更为*、灵活,完全由用户决定的分类方式,而非传统的由网站定义的分类。您可以根据自己的理解,对发表的文章、上传的图片、音乐、视频等各种文件添加一个或多个标签,进行灵活的描述。
添加标签(tag)有什么作用?
标签体现了群体的力量,使得用户之间可以通过相近的内容产生更多的关联和互动。您在发表日志或上传文件时添加了tag ,就可以看到woku.com所有和您使用了相同tag 的日志和文件。
标签频道中不同大小、粗细的文字代表什么?
使用不同大小、粗细字体的标签,代表着标签不同的使用频率。字体越大、越粗,说明这些标签的使用频率越高。
添加标签时需要注意些什么?
① 多个标签之间请用空格分隔。
② 每个标签的最大长度为 10 个汉字。
③ 每篇日志或每个文件最多只能添加10个标签,这包括您自己以及其他用户添加的标签。
我可以在别人发表的日志和文件中添加标签吗?
您可以根据浏览对象的阅读权限来判断是否可以添加标签。公开的日志或文件,所有用户都可以添加标签;仅供好友浏览的日志,只有好友和作者能添加标签;仅作者可以浏览的日志或文件,只有作者能够添加标签。当然,无论是谁添加的标签,都只有该日志或文件的作者可以修改或删除这些标签。
所以呢我找了些实现tag功能的asp代码,仅供参考
复制代码 代码如下:
'*********************************************************
' 目的: 定义ttag类
' 输入: 无
' 返回: 无
'*********************************************************
class ttag
public id
public name
public intro
public order
public count
public property get encodename
encodename = server.urlencode(name)
end property
public property get url
url = zc_blog_host & "catalog.asp?"& "tags=" & server.urlencode(name)
end property
public property get htmlurl
htmlurl=transferhtml(url,"[html-format]")
end property
public property get htmlintro
htmlintro=transferhtml(intro,"[html-format]")
end property
public property get htmlname
htmlname=transferhtml(name,"[html-format]")
end property
public property get rssurl
rssurl = zc_blog_host & "sydication.asp?tags=" & id
end property
public function post()
call checkparameter(id,"int",0)
call checkparameter(order,"int",0)
name=filtersql(name)
name=transferhtml(name,"[normalname]")
if len(name)=0 then post=false:exit function
intro=filtersql(intro)
intro=transferhtml(intro,"[html-format]")
if id=0 then
objconn.execute("insert into [blog_tag]([tag_name],[tag_order],[tag_intro]) values ('"&name&"',"&order&",'"&intro&"')")
else
objconn.execute("update [blog_tag] set [tag_name]='"&name&"',[tag_order]="&order&",[tag_intro]='"&intro&"' where [tag_id] =" & id)
end if
post=true
end function
public function loadinfobyid(tag_id)
call checkparameter(tag_id,"int",0)
dim objrs
set objrs=objconn.execute("select [tag_id],[tag_name],[tag_intro],[tag_order],[tag_count] from [blog_tag] where [tag_id]=" & tag_id)
if (not objrs.bof) and (not objrs.eof) then
id=objrs("tag_id")
name=objrs("tag_name")
intro=objrs("tag_intro")
order=objrs("tag_order")
count=objrs("tag_count")
loadinfobyid=true
end if
objrs.close
set objrs=nothing
if isnull(intro) then intro=""
end function
public function loadinfobyarray(arytaginfo)
if isarray(arytaginfo)=true then
id=arytaginfo(0)
name=arytaginfo(1)
intro=arytaginfo(2)
order=arytaginfo(3)
count=arytaginfo(4)
end if
if isnull(intro) then intro=""
loadinfobyarray=true
end function
public function del()
call checkparameter(id,"int",0)
if (id=0) then del=false:exit function
dim s
dim i
dim objrs
set objrs=server.createobject("adodb.recordset")
objrs.cursortype = adopenkeyset
objrs.locktype = adlockreadonly
objrs.activeconnection=objconn
objrs.source=""
objrs.open("select [log_id],[log_tag] from [blog_article] where [log_tag] like '%{" & id & "}%'")
if (not objrs.bof) and (not objrs.eof) then
do while not objrs.eof
i=objrs("log_id")
s=objrs("log_tag")
s=replace(s,"{"& id &"}","")
objconn.execute("update [blog_article] set [log_tag]='"& s &"' where [log_id] =" & i)
objrs.movenext
loop
end if
objrs.close
objconn.execute("delete from [blog_tag] where [tag_id] =" & id)
del=true
end function
public function maketemplate(s)
s=replace(s,"<#article/tag/id#>",id)
s=replace(s,"<#article/tag/name#>",htmlname)
s=replace(s,"<#article/tag/intro#>",htmlintro)
s=replace(s,"<#article/tag/count#>",count)
s=replace(s,"<#article/tag/url#>",htmlurl)
s=replace(s,"<#article/tag/encodename#>",encodename)
maketemplate=s
end function
end class
'*********************************************************
'*********************************************************
' 目的: tags读取
'*********************************************************
function gettags()
dim i,j,k,l
dim aryalldata
dim arysingledata()
erase tags
dim objrs
set objrs=objconn.execute("select top 1 [tag_id] from [blog_tag] order by [tag_id] desc")
if (not objrs.bof) and (not objrs.eof) then
i=objrs("tag_id")
redim tags(i)
end if
set objrs=objconn.execute("select [tag_id],[tag_name],[tag_intro],[tag_order],[tag_count] from [blog_tag] order by [tag_id] asc")
if (not objrs.bof) and (not objrs.eof) then
aryalldata=objrs.getrows(objrs.recordcount)
objrs.close
set objrs=nothing
k=ubound(aryalldata,1)
l=ubound(aryalldata,2)
for i=0 to l
set tags(aryalldata(0,i))=new ttag
tags(aryalldata(0,i)).loadinfobyarray(array(aryalldata(0,i),aryalldata(1,i),aryalldata(2,i),aryalldata(3,i),aryalldata(4,i)))
next
end if
gettags=true
end function