asp 怎样实现这样的功能呀

sntdk 2009-10-12 11:06:36
字段:selite
|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42


字段下面的是内容.

我想通过在查询的时候.取 | 后面的最后一内容.其它的去掉.不论前面有多少内容


还有求一个函数可以取指定位置记录

先谢谢了呀
...全文
165 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
z8h8y8 2009-10-12
  • 打赏
  • 举报
回复
dim ok:ok = "|1,2009-10-12 11:57|2,2009-10-12 11:57|3,2009-10-12 11:57|4,2009-10-12 11:57|5,2009-10-12 11:57|6,2009-10-12 12:57|7,2009-10-12 12:57|8,2009-10-12 12:57|9,2009-10-12 12:57|ok"

dim no:no = "|1,2009-10-12 11:57|2,2009-10-12 11:57|3,2009-10-12 11:57|4,2009-10-12 11:57|5,2009-10-12 11:57|6,2009-10-12 12:57|7,2009-10-12 12:57|8,2009-10-12 12:57"


function checkorder(data)
dim arr,i
arr = split(data,"|")
if arr(ubound(arr)) = "ok" then
for i=0 to ubound(arr)-1
response.write arr(i) & " <br />"
next
else
response.write arr(ubound(arr))
end if
end function

response.write checkorder(ok)
z8h8y8 2009-10-12
  • 打赏
  • 举报
回复
帮你整理好了,前面的有点乱。

dim ok:ok = "|1,2009-10-12 11:57|2,2009-10-12 11:57|3,2009-10-12 11:57|4,2009-10-12 11:57|5,2009-10-12 11:57|6,2009-10-12 12:57|7,2009-10-12 12:57|8,2009-10-12 12:57|9,2009-10-12 12:57|ok"

dim no:no = "|1,2009-10-12 11:57|2,2009-10-12 11:57|3,2009-10-12 11:57|4,2009-10-12 11:57|5,2009-10-12 11:57|6,2009-10-12 12:57|7,2009-10-12 12:57|8,2009-10-12 12:57"


function checkorder(data)
dim arr,i
arr = split(data,"|")
if arr(ubound(arr)) = "ok" then
for i=0 to ubound(arr)-1
response.write arr(i) & " <br />"
next
else
response.write arr(ubound(arr))
end if
end function

response.write checkorder(no)
sntdk 2009-10-12
  • 打赏
  • 举报
回复
嗯这样就比较好了.

先谢谢了呀.不知道这样,把流程存在一个字段好还是状态名.一个字段.状态开始时间一个字段.状态结束一个字段好呀

z8h8y8 2009-10-12
  • 打赏
  • 举报
回复
指定一个标记,是否订单完成。

完成全部显示,未完成显示订单最后一项状态。

1,2009-10-12 11:57|2,2009-10-12 11:57|3,2009-10-12 11:57|4,2009-10-12 11:57|5,2009-10-12 11:57|6,2009-10-12 12:57|7,2009-10-12 12:57|8,2009-10-12 12:57|9,2009-10-12 12:57|ok|

if ubound(split(selite,"|")) = "ok" then
完成,全部显示
call list()
else
订单处理中,显示最后一条状态
response.write ubound(split(selite,"|"))
end if



function list()
dim a,b,i

a = "|1,2009-10-12 11:57|2,2009-10-12 11:57|3,2009-10-12 11:57|4,2009-10-12 11:57|5,2009-10-12 11:57|6,2009-10-12 12:57|7,2009-10-12 12:57|8,2009-10-12 12:57|9,2009-10-12 12:57"

b = split(a,"|")

for i=0 to ubound(b)

response.write b(i) & " <br />"

next
end function
sntdk 2009-10-12
  • 打赏
  • 举报
回复
是不是给一个指定的认别字符来区分定单是否完成./

完成了就显示完整的流程.否则只显示.当前流程状态/
sntdk 2009-10-12
  • 打赏
  • 举报
回复
1,2009-10-12 11:57
2,2009-10-12 11:57
3,2009-10-12 11:57
4,2009-10-12 11:57
5,2009-10-12 11:57
6,2009-10-12 12:57
7,2009-10-12 12:57
8,2009-10-12 12:57
9,2009-10-12 12:57

显示出来是这样

当我查询的时候怎样处理呢.

比如说
查询单号: 001

A的值是单号001 对应的流程状态.
a = "|1,2009-10-12 11:57|2,2009-10-12 11:57|3,2009-10-12 11:57|4,2009-10-12 11:57|5,2009-10-12 11:57"

这样的话我只须要显示.最后一个流程的状态.

如果整个定单的流程完成.了后,才显示


1,2009-10-12 11:57
2,2009-10-12 11:57
3,2009-10-12 11:57
4,2009-10-12 11:57
5,2009-10-12 11:57
6,2009-10-12 12:57
7,2009-10-12 12:57
8,2009-10-12 12:57
9,2009-10-12 12:57
z8h8y8 2009-10-12
  • 打赏
  • 举报
回复
原来写错………………我说怎么看得迷糊,试试上面的,估计差不多了。
z8h8y8 2009-10-12
  • 打赏
  • 举报
回复
dim a,b,i

a = "|1,2009-10-12 11:57|2,2009-10-12 11:57|3,2009-10-12 11:57|4,2009-10-12 11:57|5,2009-10-12 11:57|6,2009-10-12 12:57|7,2009-10-12 12:57|8,2009-10-12 12:57|9,2009-10-12 12:57"

b = split(a,"|")

for i=0 to ubound(b)

response.write b(i) & "<br />"

next
sntdk 2009-10-12
  • 打赏
  • 举报
回复
中间的那些是不要的.写错了
z8h8y8 2009-10-12
  • 打赏
  • 举报
回复
中间那些代表什么呢?5,6,7,8,9

selite ="|待检验,2009-10-12 11:57|开始检验,2009-10-12 11:57|检验中,2009-10-12 11:57|待维修,2009-10-12 11:57|开始维修,2009-10-12 11:57|维修中,2009-10-12 12:57|维修完成,2009-10-12 12:57|转上门,2009-10-12 12:57|转发货,2009-10-12 12:57"

这样不就是全部订单状态了?
sntdk 2009-10-12
  • 打赏
  • 举报
回复
selite ="|1,2009-10-12 11:57|2,2009-10-12 11:57|3,2009-10-12 11:57|4,2009-10-12 11:57|5,2009-10-12 11:57|6,2009-10-12 12:57|7,2009-10-12 12:57|8,2009-10-12 12:57|9,2009-10-12 12:57"
sntdk 2009-10-12
  • 打赏
  • 举报
回复
也可以把中文换成数字

selite ="|1,2009-10-12 11:57|2,2009-10-12 11:57|3,2009-10-12 11:57|4,2009-10-12 11:57|5|6|7|8|9|10|11|5,2009-10-12 11:57|6,2009-10-12 12:57|7,2009-10-12 12:57|8,2009-10-12 12:57|9,2009-10-12 12:57"

这样也可以.
sntdk 2009-10-12
  • 打赏
  • 举报
回复
这样是维修完成
selite ="|待检验,2009-10-12 11:57|开始检验,2009-10-12 11:57|检验中,2009-10-12 11:57|待维修,2009-10-12 11:57|5|6|7|8|9|10|11|开始维修,2009-10-12 11:57|维修中,2009-10-12 12:57|维修完成,2009-10-12 12:57|转上门,2009-10-12 12:57|转发货,2009-10-12 12:57"

这样是待检验
selite ="|待检验,2009-10-12 11:57"
.....

查询定单的时候.自动认别当前状态.

定单完成后可以显示完整的流程,和流程时间
z8h8y8 2009-10-12
  • 打赏
  • 举报
回复
如果1-42这些全是订单状态,那就没什么了吧?按照前面回答的,split成数组,全部遍历出来,整个状态不是出来了么?
z8h8y8 2009-10-12
  • 打赏
  • 举报
回复
换逗号,表达式也换下:\|[\u4e00-\u9fa5].*?\|
sntdk 2009-10-12
  • 打赏
  • 举报
回复
其实是这样.

我是想在这个字段中存放.一个流过的过程.和每一个流程的开始时间

selite ="|1|2|3|4|5|6|7|8|9|10|11|维修中,2009-10-12 11:57|维修完成,2009-10-12 12:57|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42 "

还有一个单号字段
Order 存放定单号
当用户查询这个定单号的时候自动识别这个定单的状态.并显示当前状态 和状态时间
z8h8y8 2009-10-12
  • 打赏
  • 举报
回复
换逗号简化了,split(txt,",")(0) 维护中

split(txt,",")(1) 你要的日期
z8h8y8 2009-10-12
  • 打赏
  • 举报
回复
不知道是不是这意思。

\|[\u4e00-\u9fa5](.*?)\|

把你需要的这段提取出来,txt="维修中-2009-10-12 11:57"

split(txt,"-")(0) 维护中

split(txt,"-")(1) &"-"&split(txt,"-")(2) &"-"&split(txt,"-")(3) 2009-10-12 11:57
sntdk 2009-10-12
  • 打赏
  • 举报
回复
selite ="|1|2|3|4|5|6|7|8|9|10|11|维修中,2009-10-12 11:57|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42 "

改用豆号.这样好区分一些.
sntdk 2009-10-12
  • 打赏
  • 举报
回复
selite ="|1|2|3|4|5|6|7|8|9|10|11|维修中-2009-10-12 11:57|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42 "

要是这样怎样把 维修中 和时间分开呀
加载更多回复(7)

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧