账号通
    

账号  

密码  

7687

查看

10

回复
主题:[技巧]自定义sql标签实现自动取循环次数 [收藏主题] 本贴被认定为精华 转到:  
科汛官方 当前离线

47268

主题

145

广播

405

粉丝
添加关注
级别:管理员

用户积分:101604 分
登录次数:7935 次
注册时间:2006/12/7
最后登录:2023/12/14
科汛官方 发表于:2008/7/16 9:06:00   | 只看该作者 查看该作者主题 楼主 
科汛在线考试系统(NET)

在解答商业用户时,发现有用户需要,就和大家一起分享:


如我们在用下拉列表做,推荐文章时,可能下拉选项是不固定的,举例如下


<select name='url' onchange="location.href=this.value;">


 <option value="http://xxxx">文章标题...</option>


 ...


</select>


 


sql语句:


select id,tid,title from ks_article order by id desc


sql循环体如下:


<select name='url' onchange="location.href=this.value;">


  [loop=n]


<option value="{$Field(ID,GetInfoUrl,1,1)}">[{$Field(Tid,GetClassUrl,1,0)}]{$Field(Title,Text,0,...,0,)}</option>


[/loop]
</select>


 


 


 


由于现在的sql标签必须明确的指定循环次数,这时就有点不好办了,如果n指定一个太大的数字可能会导致资源的浪费


 


不难办,只需稍改下程序代码,即可实现自动获得记录数的目的.


 


请打开KS_Cls/Kesion.SqlCls.asp,并找到,约200多行


 


'替换循环部分内容
  Function GetCirLabelContent(CirLabelContent,ByRef KS_RS_Obj,LoopTimes)
  Dim regEx, Matches, Match, TempStr
  Dim FieldParam,FieldParamArr,FieldName,FieldType,ReturnFieldValue
  Dim DB_FieldValue,FieldParamLength,I,FieldPosition,N
   If Not IsNumeric(LoopTimes) Then LoopTimes=10
   If LoopTimes=0 Then LoopTimes=KS_RS_Obj.RecordCount


 


 


加上红色的那句即可.


 


那接下来,我们的循环体就可以这样写


 


<select name='url' onchange="location.href=this.value;">


  [loop=0]


<option value="{$Field(ID,GetInfoUrl,1,1)}">[{$Field(Tid,GetClassUrl,1,0)}]{$Field(Title,Text,0,...,0,)}</option>


[/loop]
</select>


 


即将n设为0

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

40

主题

0

广播

0

粉丝
添加关注
级别:学前班

用户积分:880 分
登录次数:57 次
注册时间:2007/7/7
最后登录:2009/12/11
ggmiao 发表于:2008/9/6 1:36:00   | 只看该作者 查看该作者主题 沙发 
做在线知识付费 选科汛云开店
哇,真是实用的教程,很棒
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
laile 当前离线

73

主题

2

广播

0

粉丝
添加关注
级别:学前班

用户积分:678 分
登录次数:40 次
注册时间:2008/1/23
最后登录:2019/10/9
laile 发表于:2008/8/7 18:03:00   | 只看该作者 查看该作者主题 藤椅 
科汛在线网校系统
哇塞,正好我要用到,爽了!站在巨人的肩膀上
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
veryp 当前离线

3738

主题

328

广播

29

粉丝
添加关注
级别:大三

用户积分:14990 分
登录次数:1155 次
注册时间:2006/5/29
最后登录:2023/3/28
veryp 发表于:2008/7/18 19:40:00   | 只看该作者 查看该作者主题 板凳 
科汛在线网校系统
直接把他加到升级版去吧,
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
luohao618 当前离线

59

主题

0

广播

0

粉丝
添加关注
级别:学前班

用户积分:665 分
登录次数:4 次
注册时间:2008/7/11
最后登录:2008/11/6
luohao618 发表于:2008/7/18 9:47:00   | 只看该作者 查看该作者主题 报纸 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
abc1988 当前离线

195

主题

0

广播

5

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

用户积分:3004 分
登录次数:313 次
注册时间:2007/11/10
最后登录:2011/6/13
abc1988 发表于:2008/7/18 9:01:00   | 只看该作者 查看该作者主题 地板 
做在线知识付费 选科汛云开店
非常成功,感谢科汛官方,补充说明请注意:若您的是4.0,4.5版本,请修改的文件是:KS.DIYCls.asp
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
老大的同桌 当前离线

519

主题

0

广播

0

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

用户积分:3630 分
登录次数:224 次
注册时间:2006/8/3
最后登录:2009/11/1
老大的同桌 发表于:2008/7/17 11:25:00   | 只看该作者 查看该作者主题 7楼 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
otbbs 当前离线

1605

主题

12

广播

2

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

用户积分:8980 分
登录次数:1225 次
注册时间:2006/8/7
最后登录:2023/11/29
otbbs 发表于:2008/7/16 15:14:00   | 只看该作者 查看该作者主题 8楼 
科汛智能建站系统
谢谢,希望可以用到。。
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
moson30 当前离线

763

主题

0

广播

0

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

用户积分:5090 分
登录次数:245 次
注册时间:2007/3/31
最后登录:2010/4/27
moson30 发表于:2008/7/16 10:33:00   | 只看该作者 查看该作者主题 9楼 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
iamcay 当前离线

879

主题

11

广播

1

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

用户积分:5479 分
登录次数:207 次
注册时间:2006/8/30
最后登录:2016/11/20
iamcay 发表于:2008/7/16 10:19:00   | 只看该作者 查看该作者主题 10楼 
科汛在线商城系统(NET)

即将n设为0

 

是显示全部记录吗?

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