asp下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

(0)

相关推荐

  • asp下tag的实现,简单介绍与部分代码

    标签(Tag)是什么? 标签是一种更为自由.灵活,完全由用户决定的分类方式,而非传统的由网站定义的分类.您可以根据自己的理解,对发表的文章.上传的图片.音乐.视频等各种文件添加一个或多个标签,进行灵活的描述.  添加标签(Tag)有什么作用? 标签体现了群体的力量,使得用户之间可以通过相近的内容产生更多的关联和互动.您在发表日志或上传文件时添加了Tag ,就可以看到woku.com所有和您使用了相同Tag 的日志和文件.  标签频道中不同大小.粗细的文字代表什么? 使用不同大小.粗细字体的标签,

  • python kmeans聚类简单介绍和实现代码

    一.k均值聚类的简单介绍 假设样本分为c类,每个类均存在一个中心点,通过随机生成c个中心点进行迭代,计算每个样本点到类中心的距离(可以自定义.常用的是欧式距离) 将该样本点归入到最短距离所在的类,重新计算聚类中心,进行下次的重新划分样本,最终类中心不改变时,聚类完成 二.伪代码   三.python代码实现   #!/usr/bin/env python # coding=utf-8 import numpy as np import random import matplotlib.pyplo

  • ASP.NET MVC页面重定向简单介绍

    在asp.net中页面重定向:Server.Execute("m2.aspx"); 服务器保存此页转向前的数据后,使页面转向到m2.aspx执行, 再返回本页继续执行.再将三者结果合并后返回给浏览器. 以上都是服务器端页面转向所以浏览器不出现页更改记录(显示的地址不会改变).因此,如果用户刷新此页,也许会出现一些其它意外情况. 此类页转向,可完成一些其它功能,比如访问到前一页面中的服务端控件. 一.Response.Redirect: 当浏览器请求aspx页面时,碰到Redirect(

  • asp下的一个很简单的验证码程序第1/3页

    主程序共三个 我的调用方式 <script language="javascript" src="/verify/num.asp"></script>  验证方式 if trim(Loginnum)<>trim(session("Loginnum")) then  Response.Write Error("验证码错误!")  Response.End  end if num.asp <

  • android下拉刷新ListView的介绍和实现代码

    大致上,我们发现,下拉刷新的列表和一般列表的区别是,当滚动条在顶端的时候,再往下拉动就会把整个列表拉下来,显示出松开刷新的提示.由此可以看出,在构建这个下拉刷新的组件的时候,只用继承ListView,然后重写onTouchEvent就能实现.还有就是要能在xml布局文件中引用,还需要一个参数为Context,AttributeSet的构造函数. 表面上的功能大概就这些了.另一方面,刷新的行为似乎还没有定义,在刷新前做什么,刷新时要做什么,刷新完成后要做什么,这些行为写入一个接口中,然后让组件去实

  • asp下轻松实现将上传图片到数据库的代码

    轻松实现将上传图片到数据库 很久就想自己写一写程序了,不过由于赖就不想写我,今天刚好有空,所以写了这个小小的程序很容易一看就知道的,不多说了就此开始: 我们做一个上传的.数据据库的字段就id自动编号 big 字段类型是 OLE 呵呵就简单的那个字段好了 uppic.asp上传程序名 <% dim rs  dim formsize,formdata,bncrlf,divider,datastart,dataend,mydata formsize=request.totalbytes '取得客户端发

  • ASP下实现自动采集程序及入库的代码

    最近网上流行着一些采集程序,更多人拿着这些东西在网上叫卖,很多不太懂的人看着那些程序眼羡,其实如果你懂一些ASP,了解自动采集程序的原理后,你会感觉实现自动化也是那么的简单. 原理及优点:通过XML中的XMLHTTP组件调用其它网站上的网页,然后批量截取或替换原有的信息使其转化成变量后再一一储存到数据库中.其主要的优点便是无需再手工添加大量的信息了,可以指定对某一个站信息的截取进行批量录入,达到省时省力的目的.与其单纯的ASP小偷程序不同的是:它已经不再依赖其目标网站. 简单事例: 复制代码 代

  • asp下比较全面的获取IP地址的代码

    最简单的用以下语句: ip=request.ServerVariables("REMOTE_ADDR")  response.Write(ip) 但这种方法对代理服务器上网的就不准了,故比较全面的是用下面的方法: 复制代码 代码如下: <%Private Function getIP()   Dim strIPAddr   If Request.ServerVariables("HTTP_X_FORWARDED_FOR") = "" OR 

  • asp下过滤非法的SQL字符的函数代码

    复制代码 代码如下: '************************************************** '函数名:R '作 用:过滤非法的SQL字符 '参 数:strChar-----要过滤的字符 '返回值:过滤后的字符 '************************************************** Public Function R(strChar) If strChar = "" Or IsNull(strChar) Then R =

  • 简单介绍下 PHP5 中引入的 MYSQLI的用途

    在新下载的PHP5中你会发现多了一个mysqli.dll,它是干什么用的呢?我简单介绍下... mysqli.dll是PHP对mysql新特性的一个扩展支持.在PHP5中可以在php.ini中加载. mysql后面的i,指improved, interface, ingenious, incompatible or incomplete(改扩展仍在开发中,因为MYSQL4.1和MYSQL5都没有正式推出尚在开发中,新的特性没有完全实现) mysqli想实现的目标具体有: -更简单的维护 -更好的

随机推荐