用Dreamweaver将数据库中的数据以柱状图的形式动态展示于网页中

用Dreamweaver将数据库中的数据以柱状图的形式动态展示于网页中
():表示解释说明

一、从数据库中统计数据

<%

dim lable1(6),avg1(6),color(6)

     (lable1数组存储选项的名称,avg1数组存储选取各个选项的人数,color数组存储颜色)

lable1(1)="大一"
lable1(2)="大二"
lable1(3)="大三"
lable1(4)="大四"
lable1(5)="研究生"
color(1)="#CC0000"
color(2)="#33FF00"
color(3)="#CCFF00"
color(4)="#0000FF"
color(5)="#330033"
rs.close

rs.open "select count(ans) as cnt from answer"',conn,1,1

  (从answer表中统计ans的总数并赋值给别名cnt)

counts=rs("cnt")/7

   (此处除以7是因为一共有7道题,得到的结果即为填写调查表的人数)

rs.close
rs.open"select ans as ans1, count(ans) as sum1 from answer where qid='q1' group by ans"
  (从answer表中获取qid=q1的数据,将ans的值赋值给别名ans1,将统计ans所得的总数赋值给别名sum1
dim ave1
do while not rs.eof
if rs("sum1")=NULL then
ave1=0
else 
ave1=rs("sum1")/counts*100

end if

avg1(rs("ans1"))=ave1

    (求各个选项所占的比例并赋值给avg1数组)

rs.movenext

        (指针依选项逐个移动,依次统计)

loop

%>

二、将统计值以柱状图形式展示(利用表格)

1.你是大几的学生:





<% for i=1 to 5 %>

   
       
       

(将各个选项所占的比例保留整数并输出)
   


 <%next%>
<%=lable1(i)%>
       

(5*avg1(i)此处因为500是表格长度,但avg1(i)为百分数,所以简化了,“%=”为简化的response.write)
              bgcolor="<%=color(i)%>">

(“%=”为简化的response.write,将背景色赋值给bgcolor)

           


           
 

       
<%=Int(avg1(i)+0.5)%>%



(此处有5个选项)

():表示解释说明
(5*avg1(i)此处因为500是表格长度,但avg1(i)为百分数,所以简化了,“%=”为简化的response.write)

你可能感兴趣的:(用Dreamweaver将数据库中的数据以柱状图的形式动态展示于网页中)