if isarray(tmp_var) then
erase tmp_var...,Bullcn'Blog - 分享、交流、进步。" /> 直接取一级、二级分类名的函数 - Bullcn'Blog

直接取一级、二级分类名的函数


sub load_data_sortname()
dim tmp_var,tmp_sql,tmp_rs
tmp_var=application(joekoe_cms.web_cookies&"_data_sortname")
if isarray(tmp_var) then
erase tmp_var
exit sub
end if
tmp_sql="select c.c_id,c.c_name,c.nsort,s.s_id,s.s_name from jk_class c,jk_sort s where c.c_id=s.c_id"
set tmp_rs=joekoe_cms.exec(tmp_sql,1)
if not tmp_rs.eof then
application.lock
application(joekoe_cms.web_cookies&"_data_sortname")=tmp_rs.getrows()
application.unlock
end if
tmp_rs.close
set tmp_rs=nothing
end sub

function get_sortname(gs_sort,g_cid,g_sid,g_type,g_url,g_open)
call load_data_sortname()
dim tmp_name,tmp_app,gi,tmp_atb,tmp_url
get_sortname="[暂无分类]"
tmp_atb=" target=_blank"
if g_open=0 then tmp_atb=""
tmp_app=application(joekoe_cms.web_cookies&"_data_sortname")
if not isarray(application(joekoe_cms.web_cookies&"_data_sortname")) then exit function
for gi=0 to ubound(tmp_app,2)
if int(g_cid)=int(tmp_app(0,gi)) and int(g_sid)=int(tmp_app(3,gi)) and gs_sort=tmp_app(2,gi) then
if g_type=0 then
tmp_name=tmp_app(1,gi) 'c_id
tmp_url="c_id="&g_cid
else
tmp_name=tmp_app(4,gi) 's_id
tmp_url="c_id="&g_cid&"&s_id="&g_sid
end if
exit for
end if
next
erase tmp_app
if tmp_name="" then tmp_name="---"
tmp_name="[ <a href='"&g_url&tmp_url&"' "&tmp_atb&">"&tmp_name&"</a> ]"
get_sortname=tmp_name
end function

'使用方法:
'response.write get_sortname("news",4,1,1,"news_list.asp?")

'第一个参数:分类的类型 如:文章为art 新闻为news
'第二个参数:一级分类的ID
'第三个参数:二级分类的ID
'第四个参数:0为只取一级分类名称 1为取二级分类名称
'第五个参数:连接的地址
'第六个参数:分类连接是否新开窗口 0 为不开 其他为开
'范例:
response.write get_sortname("news",4,1,0,"news_list.asp?",0)

好处就是分类放在缓存中,不需要重复读数据库,不占多少的资源
可直接放在skin.asp
如果你要自己加点什么
直接改一下函数就行了

文章来自: Original
引用通告: 查看所有引用 | 我要引用此文章
Tags:
相关日志:
评论: 7 | 引用: 4 | 查看次数: 778
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 20 字 | UBB代码 关闭 | [img]标签 关闭