首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > ASP >

王5时,=0.33+0.5+1+0.5=2.33 0.33由来为:xueyuan表里id为1的a字段里有三个名字,所以王五就只占0.33,其他类推

2012-08-13 
王五时,???0.33+0.5+1+0.52.330.33由来为:xueyuan表里id为1的a字段里有三个名字,所以王五就只占0.33,其

王五时,???=0.33+0.5+1+0.5=2.33 0.33由来为:xueyuan表里id为1的a字段里有三个名字,所以王五就只占0.33,其他类推
数据库表:muser
id xm
1 王五
2 麻子
3 李六

数据库表:xueyuan
id name a
1 张三 王五,麻子,李六
2 彭七 王五,李六
3 雷八 王五
4 李四 麻子,李六
5 何九 王五,李六

<%......
mrs.open "select * from mUser",conn,1,3
do while not mrs.eof
%>
  姓名 数量
<%=mrs("xm")%> ???
<%mrs.movenext
loop%>
我想要红色???的内容显示为:
mrs("xm")为
王五时,???=0.33+0.5+1+0.5=2.33 0.33由来为:xueyuan表里id为1的a字段里有三个名字,所以王五就只占0.33,其他类推
麻子时,???=0.33+0.5=0.88
其他???同上算法

[解决办法]
个人思路:
先列出数据库表:xueyuan生成数组:
array(0)="王五,麻子,李六"
array(1)="王五,李六"
array(3)="王五"
array(4)="麻子,李六"
array(5)="王五,李六"
......

再列出数据库表:muser 循环用xm去匹配每个数组,当数组存在有相同名字就统计所占比例并加上,没有就跳过。这样就可以得出你要的数值

关键代码:
dim i
i=0
mrs.open "select * from mUser",conn,1,3
do while not mrs.eof
array(i)=mrs("a")
i=i+1

.......
dim name,temp,n
mrs.open "select * from muser",conn,1,3
do while not mrs.eof
name=mrs("xm")
n=0
for i=0 to ubound(array)
if instr(","&array(i)&",",","&name&",")>0 then
temp=split(array(i),",")
n=n+1/ubound(temp) '最好处理一上小数
end if
next
response.write name&"为:"&n
[解决办法]

HTML code
<select name="zt" id="zt" onChange="choose(this.value)">    <option value="" selected></option>    <option value="学习中">学习中</option>    <option value="咨询">咨询</option></select><input name="dm" type="checkbox" value="珠心算" />珠心算<input name="dm" type="checkbox" value="口才" />口才<input name="dm" type="checkbox" value="绘画" />绘画<input name="dm" type="checkbox" value="练字" /><script type="text/javascript">    function choose(v){        if(v=="咨询"){            check("珠心算",true);//选中            check("口才",true);//选中            check("绘画",false);//取消选中            check("练字",false);//取消选中        }else{            check("珠心算",false);//选中            check("口才",false);//选中            check("绘画",true);//取消选中            check("练字",true);//取消选中        }        //自己调整需要    }    function check(v,o){        var obj=document.getElementsByName("dm");        for(var i=0;i<obj.length;i++){            if(obj[i].value==v){                obj[i].checked=o;            }        }    }</script> 

热点排行