标题:请教instr问题
取消只看楼主
nicechlk
Rank: 3Rank: 3
等 级:论坛游侠
威 望:4
帖 子:330
专家分:187
注 册:2008-9-6
得分:0 
这是用Response.Write request.form("user_choice")出来的结果
ps:终于知道上传图片了

未命名.GIF (2.77 KB)

莫以善小而不为,莫以恶小而为之!
2008-10-19 20:03
nicechlk
Rank: 3Rank: 3
等 级:论坛游侠
威 望:4
帖 子:330
专家分:187
注 册:2008-9-6
得分:0 
[bo][un]yms123[/un] 在 2008-10-19 19:51 的发言:[/bo]


看论坛的帮助网页
如果是1,2,3,4,5,6的话
精确判断可以进行逐个判断,比InStr精确
比如判断某个ID是否在这串字符串里出现过
Function IsHaveID(IDStr,ID)
   Dim i,IsHave,tAry()
   tAry=Split(IDStr,",")
 ...

能不能不用函数啊?

莫以善小而不为,莫以恶小而为之!
2008-10-19 20:04
nicechlk
Rank: 3Rank: 3
等 级:论坛游侠
威 望:4
帖 子:330
专家分:187
注 册:2008-9-6
得分:0 
[bo][un]yms123[/un] 在 2008-10-19 20:33 的发言:[/bo]


用函数直接调用不是很方便吗?
比如
Dim tStr
tStr="1,2,3,4,5,6,7,8"
IF Not IsHaveID(tStr,9) Then
   Response.Write "9在'"&tStr&"'中没有出现"
End IF

主要就是tStr这个值不是固定的

莫以善小而不为,莫以恶小而为之!
2008-10-19 22:42
nicechlk
Rank: 3Rank: 3
等 级:论坛游侠
威 望:4
帖 子:330
专家分:187
注 册:2008-9-6
得分:0 
综合以上,以下代码请帮我改进一下:
1、写入数据库:
dim limit
limit=request.form("choice")  '获取用户点选的项目id,也就是tree表中tree_name字段的id
limit=replace(limit," ","")   '替换掉空格
limit="|"&replace(limit,",","|")&"|"  '替换逗号为 |
    'response.write limit的结果就是:|1|2|4|8|10|11|....|20|....
rs.open "select * from [user] where ....",conn,1,3
rs("choice")=limit
......

2、用户选择页面
dim effect,newid
...
rs1.open "select * from [user]",conn,1,1
effect=rs1("choice")
...
rs2.open "select id,tree_name from [tree]",conn,1,1
newid=rs2("id")
  循环开始
<input name="choice" value="<%=newid%>" type=...<%if ...then response.write "checked" end if%>><%=rs2("tree_name")%> '意思是,如果user表的choice字段里有tree表中tree_name的ID,就为选中状态。
  循环结束
如何写这个if语句?
if instr(effect,""&newid&"") then.....
补充:关键这个effect的值,它不是普通的字符串,而是tree_name的ID

[[it] 本帖最后由 nicechlk 于 2008-10-19 23:48 编辑 [/it]]

莫以善小而不为,莫以恶小而为之!
2008-10-19 23:13
nicechlk
Rank: 3Rank: 3
等 级:论坛游侠
威 望:4
帖 子:330
专家分:187
注 册:2008-9-6
得分:0 
[bo][un]multiple1902[/un] 在 2008-10-19 19:41 的发言:[/bo]


谁能告诉我没事就连上一个空字符串是个什么习惯……我真的没在书上读到过

问题已解决,如下:
if instr(s,"|"&变量&"|")改成: if instr("|"& s &"|","|"&变量&"|")
文件中代码:
<%if instr("|"&admin_limit&"|","|"&tree_smallID&"|") then response.Write "checked" end if%>

莫以善小而不为,莫以恶小而为之!
2008-10-20 12:24
nicechlk
Rank: 3Rank: 3
等 级:论坛游侠
威 望:4
帖 子:330
专家分:187
注 册:2008-9-6
得分:0 
谢谢各位!

莫以善小而不为,莫以恶小而为之!
2008-10-20 12:25



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-239266-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.851227 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved