账号通
    

账号  

密码  

2347

查看

3

回复
主题:请问sql标签取出的图片地址如何分割? [收藏主题] 转到:  
xxforget 当前离线

101

主题

0

广播

0

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

用户积分:1160 分
登录次数:64 次
注册时间:2009/2/12
最后登录:2009/9/17
xxforget 发表于:2009/4/11 2:46:00   | 只看该作者 查看该作者主题 楼主 
科汛在线考试系统(NET)
额 我是新手,现在终于能摸索着用sql标签取出图片的标题之类的东东了,但是问题接着来了
因为有时候一个图片文章下 是有好几副图片的,我查了查文章 发现是存放在PicUrls这个列里面的。 但是多幅的时候是用||||分割的, 我想问问怎么写才能正确的分割开呢?
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
xxforget 当前离线

101

主题

0

广播

0

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

用户积分:1160 分
登录次数:64 次
注册时间:2009/2/12
最后登录:2009/9/17
xxforget 发表于:2009/4/11 23:54:00   | 只看该作者 查看该作者主题 沙发 
科汛智能建站系统
谢谢楼上的啦~ 我用的是jsp解决的 恩 实验下你的方法 呵呵
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
linksy 当前离线

188

主题

0

广播

1

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

用户积分:2516 分
登录次数:158 次
注册时间:2007/6/14
最后登录:2015/12/16
linksy 发表于:2009/4/11 10:30:00   | 只看该作者 查看该作者主题 藤椅 
二次开发科汛, 新增SQL标签"{$SQLReplace}"用以取代asp的函数split  发贴心情 Post By:2009-4-4 13:00:00








需求说明


有时我们需要通过SQL标签调用栏目的介绍(classbasicinfo)及自定义内容(classdefinecontent),他们的结构是用这种方式存储的"a|||b|||c",这个时间,如果我们需要其中的一项,就需要split函数,而科汛没有提供,为此特意二次开发


代码修改:Kesion.Label.SQLCls.asp


 


示例:{$SQLReplace({$Field(ClassDefineContent,Text,0,0,2,)},||||,0)}


 


参说说明:参数1是为要拆分的内容,参数2是拆分的分割符,参数3是取第几位,注意是以0开始的


 


找到大约350行,增加以下红色部分


 


    End If
     KS_RS_Obj.MoveNext
   Next
  GetCirLabelContent=MySplitField(GetCirLabelContent)
  End Function


 


  Function MySplitField(lpFieldValue)
   Dim regEx, Matches, Match
   Dim FieldParam,FieldParamArr,mytempValue,mytempNum,mytarget,templpFieldValue
   Set regEx = New RegExp
   regEx.Pattern = "{\$SQLReplace\([^{\$}]*}"
   regEx.IgnoreCase = True
   regEx.Global = True
   Set Matches = regEx.Execute(lpFieldValue)  
   For Each Match In Matches
    FieldParam    = Replace(Replace(Match.Value,"{$SQLReplace(",""),")}","")
    FieldParamArr = Split(FieldParam,",")
    mytempValue=split(replace(Replace(KS.LoseHtml(KS.HtmlCode(FieldParamArr(0)))," ","")," ",""),trim(FieldParamArr(1)))
 if ubound(mytempValue)>=cint(FieldParamArr(2)) then lpFieldValue=Replace(lpFieldValue,Match.Value,mytempValue(FieldParamArr(2)))
   Next
     MySplitField=lpFieldValue
  End Function


 


调用说明:


SQL语句:select top {$Param(0)} classid,id,foldername,ClassDefineContent from ks_class where tn='{$Param(1)}' and topflag=1 order by folderorder asc


 


循环部分:<dl>[loop={$Param(0)}]<dt>{$SQLReplace({$Field(ClassDefineContent,Text,0,0,2,)},||||,0)}【<a href="{$Field(id,GetInfoUrl,100,1)}">{$Field(foldername,Text,0,...,0,)}</a>】</dt><dd>{SQL_疾病导航内部(10,{$Field(id,GetInfoUrl,100,2)})}</dd>[/loop]</dl>


 


演示:http://www.shdazhongbanjia.com/html/list_649.html

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

2796

主题

4

广播

1

粉丝
添加关注
级别:大一

用户积分:14338 分
登录次数:665 次
注册时间:2006/11/3
最后登录:2019/7/26
ks1w 发表于:2009/4/11 9:07:00   | 只看该作者 查看该作者主题 板凳 
科汛在线网校系统
lz你怎么搞的?之前好像有人发过修改方法
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
xxforget 当前离线

101

主题

0

广播

0

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

用户积分:1160 分
登录次数:64 次
注册时间:2009/2/12
最后登录:2009/9/17
xxforget 发表于:2009/4/11 7:18:00   | 只看该作者 查看该作者主题 报纸 
科汛智能建站系统
 没人知道 ? 晕呢 还是自己熬了一夜搞定了
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
<上一主题 | 下一主题 >
Powered By KesionCMS Version X1
厦门科汛软件有限公司 © 2006-2016 页面执行0.10840秒 powered by KesionCMS 9.0