您现在的位置: 365建站网 > 365文章 > FLASH+ASP制造调查结果

FLASH+ASP制造调查结果

文章来源:365jz.com     点击数:150    更新时间:2008-07-10 08:13   参与评论

FLASH+ASP打造调查结果(图一)

对于FLASH来生成饼形我们已经不是很陌生,我们就用它来显示投票结果,一般我调查结果我们都是用图片或者颜色块来表示各项的结果了.

  这里就不讨论FLASH如何实现饼形的结果了,我们要作的就是把调查结果用FLASH+ASP按上面的形式实现出来.

  首先用ASP把调查结果写成XML文件.

Response.charset="gb2312"
Response.ContentType="text/xml"

  在ASP文件的头部使用上面的语句可以将结果显示成XML文件格式.

  下面我们定义一下XML文件的格式:

  <pieData QUESTION="你觉得站点如何?">
  <pie color="FF0000">
  <value>14</value>
  <text>颜色不好</text>
  </pie>
  <pie color="00FF00">
  <value>37</value>
  <text>没有内容</text>
  </pie>
  <pie color="0000FF">
  <value>19</value>
  <text>更新太慢</text>
  </pie>
  <pie color="FFFF00">
  <value>7</value>
  <text>没有交互性</text>
  </pie>
  <pie color="FF00FF">
  <value>14</value>
  <text>都不喜欢</text>
  </pie>
  </pieData>

其中:QUESTION=调查的标题
   color=颜色
   value=投票数
   text=投票选项

下面是我生面XML所用的ASP文件,各位可以参考一下:

文件名:xmlpoll.asp 把此次投票内容列出来,显示成XML文件.

代码拷贝框
<!--#include file="../admin/config.html"-->
<!-- #include file='colors.asp' -->
<%
Response.expires=0
Response.charset="gb2312"
Response.ContentType="text/xml"

'请不要修改此代码
dim lngPollID

lngPollID=Request("PollID")

'如果没有取得数据 就取第一个投票
if (not isnumeric(lngPollid)) or lngPollid="" then
 SQL = "select top 1 id from " & strDbTable & "title order by id desc"
 set rs1=conn.execute(SQL)
 lngPollid=rs1("id")
 rs1.close
 set rs1=nothing
end if

'取得调查名和总的投票数
dim rs
dim strTitle ,lngVoter
SQL = "SELECT * FROM " & strDbTable & "title WHERE id = " & int(lngPollid)
Set rs=conn.execute(SQL)

strTitle=rs("title")
lngVoter=rs("votes")
'防止除零
if lngVoter=0 then
 lngVoter=1
end if

'取得调查的投票列表
SQL = "SELECT * FROM " & strDbTable & "vote WHERE poll_id=" & int(lngPollid) & " order by answer_id asc"
set rs=conn.execute(SQL)

'代码替换功能 防止一些不必要的符号
function ReplaceChr(Content)
 'Content=Replace(Content,"源字符","目标字符")
 Content=Replace(Content,"%","%25")
 Content=Replace(Content,"&","%26")
 Content=Replace(Content,"+","%2b")
 Content=Replace(Content,chr(13),"%0d")
 ReplaceChr=Content
end function

i=1
StrXML="<pieData QUESTION="""&strTitle&""">"
do until rs.eof
StrXML=StrXML&"<pie color="&color(i)&">"
StrXML=StrXML&"<value>"&rs("no_votes")+1&"</value>"
StrXML=StrXML&"<text>"&ReplaceChr(rs("answer"))&"</text>"
StrXML=StrXML&"</pie>"
i = i+1
rs.MoveNext
Loop
strXML=strXML &"</pieData>"
set i=nothing

rs.close
set rs=nothing
conn.close
set conn=nothing
response.Write(strXML)
%>

[Ctrl+A 全部选择 然后拷贝]

FLASH显示面页:
graph.asp 显示FLASH

代码拷贝框
<% Language=VBScript%>
<html>
 <head>
  <title>
  投票结果
  </title>
 </head>
<body LEFTMARGIN="0" TOPMARGIN="0" MARGINWIDTH="0" MARGINHEIGHT="0">
<%
Dim Weeknum,PollID

PollID=Request.Querystring("PollID")

Dim Dtrdatasrc

Dtrdatasrc="xmlpoll.asp?PollID="&PollID

Dtrdatasrc=flshpollencURL(Dtrdatasrc)
%> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="https://www.365jz.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="550" height="220" align="middle">
<param name=movie value="flashpoll.swf?dataurl=<%=Dtrdatasrc%>"> <param name=quality value=high>
<embed src="flashpoll.swf?dataurl=<%=Dtrdatasrc%>" quality=high pluginspage="https://www.365jz.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="550" height="220" align="middle" bgcolor=#99ccff>
</embed> </object>
</body>
</html>
<%
Function flshpollencURL(strURL)
 strURL=replace(strURL,"?","&")
 strURL=replace(strURL,"&","*")
 flshpollencURL=strURL
End Function
%>

[Ctrl+A 全部选择 然后拷贝]

上面就是实现FLASH投票的核心文件了.

下面是我们所要用到的FLASH文件和调用的XML文件格式:

文件名:pieData.xml 按右键保存

代码拷贝,请用pieData.xml命名.
<?xml version="1.0"?>
  <pieData QUESTION="你觉得站点如何?">
  <pie color="FF0000">
  <value>14</value>
  <text>颜色不好</text>
  </pie>
  <pie color="00FF00">
  <value>37</value>
  <text>没有内容</text>
  </pie>
  <pie color="0000FF">
  <value>19</value>
  <text>更新太慢</text>
  </pie>
  <pie color="FFFF00">
  <value>7</value>
  <text>没有交互性</text>
  </pie>
  <pie color="FF00FF">
  <value>14</value>
  <text>都不喜欢</text>
  </pie>
  </pieData>
[Ctrl+A 全部选择 然后拷贝]

FLASH文件:

flashpoll.swf

如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛

发表评论 (150人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
昵称:
最新评论
------分隔线----------------------------

快速入口

· 365软件
· 建站公司
· 杰创官网
· 建站工具

业务咨询

· 技术支持
· 服务时间:9:00-18:00
365建站网二维码

Powered by 365建站网 RSS地图 HTML地图

copyright © 2013-2022 版权所有 鄂ICP备17013400号-1