|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
对于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> 返回类别: 教程 上一教程: ASP,安全写入数据库操作,正常读出并显示在不同的场合 下一教程: 使用模板实现ASP代码与页面分离 您可以阅读与"FLASH+ASP打造调查结果"相关的教程: · 用ASP+XML打造留言本(2) · 如何在pb中创建COM组件,并在asp中调用并返回结果集? · 通过ASP在FLASH中妙用COOKIE · 轻松打造ASP计数器 · ASP:在结果中搜索 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |