·您的位置: 首页 » 资源教程 » 编程开发 » ASP » FLASH+ASP打造调查结果

FLASH+ASP打造调查结果

类别: ASP教程  评论数:0 总得分:0
  对于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.asp"-->
<!-- #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)
%>
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="http://download.macromedia.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="http://www.macromedia.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
%>
上面就是实现FLASH投票的核心文件了.

下面是我们所要用到的FLASH文件和调用的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>
-= 资 源 教 程 =-
文 章 搜 索
关键词:
类型:
范围:
纯粹空间 softpure.com
Copyright © 2006-2008 暖阳制作 版权所有
QQ: 15242663 (拒绝闲聊)  Email: faisun@sina.com
 纯粹空间 - 韩国酷站|酷站欣赏|教程大全|资源下载|免费博客|美女壁纸|设计素材|技术论坛   Valid XHTML 1.0 Transitional
百度搜索 谷歌搜索 Alexa搜索 | 粤ICP备19116064号-1