时间:2021-07-01 10:21:17 帮助过:24人阅读
本人根据php典型模块与项目实战大全此书所完成的一个调查问卷,同时管理员可以进行修改调查内容
同时用到了一个css文件,借鉴于
http://www.wufangbo.com/p-css-vote/
需要5个php文件:admin.php、update.php、view.php、result.php、vote.php、
首先在WWW下新建一个文件夹 此处为名为"diaocha" 本人的端口号为8080
数据库如下:库的名字为 cms_vote 表的名字为:vote
其中Votenote内部的内容为:
<movies> <movie> <title>您想去哪个城市:</title> <id>1</id> <count>350</count> <content>广东</content> </movie> <movie> <title>您想去哪个城市:</title> <id>2</id> <count>47</count> <content>湖南</content> </movie> <movie> <title>您想去哪个城市:</title> <id>3</id> <count>118</count> <content>上海</content> </movie> <movie> <title>您想去哪个城市:</title> <id>4</id> <count>122</count> <content>北京</content> </movie> <movie> <title>您想去哪个城市:</title> <id>5</id> <count>80</count> <content>湖北</content> </movie> </movies>
1、admin.php
<?php $con = mysql_connect('localhost','root','root')or die("could not connect database");//此处根据自己的数据库的名字,密码进行修改 mysql_query("set names utf8"); mysql_select_db('cms_vote')or die("could not select database"); $aid = $_GET['aid']; if(!empty($aid)){ $sql='SELECT *FROM vote '; //WHERE aid=".$aid."'; $result = mysql_query($sql,$con); $row = mysql_fetch_array($result); } else{ echo '<script>alert(\'调查异常\');</script>'; exit; } ?>
<html> <head> <table width="98%" border=0 align="center" cellpadding="3" cellpadding="1"> <tr> <td height="28" ><b>调查管理</b></td> </tr> <tr height="200" valign="top"> <form name="form1" method="post" action="update.php"> <input type="hidden" name = "aid" value="<?php echo $aid?>"> <table width="100%" border="0"cellpadding="4" cellspacing="4"> <tr> <td width="15%" align="center">调查项目:</td> <td width="85%"> <input name="votename" type="text" id="votename" value="<?php echo $row['Votename'];?>"> </td> </tr> <tr> <td align="center">调查总人数:</td> <td> <input name="totalcount" type="text" id="totalcount" value="<?php echo $row['Totalcount'];?>"> </td> </tr> <tr> <td align="center">开始时间:</td> <td> <input name="starttime" type="text" id="starttime" value="<?php echo $row['Starttime'];?>"> </td> </tr> <tr> <td align="center">结束时间:</td> <td> <input name="endtime" type="text" id="endtime" value="<?php echo $row['Endtime'];?>"> </td> </tr> <tr> <td align="center">投票项:</td> <td> <textarea name="votenote" rows="8" id ="votenote" style="width:80%"> <movies> <movie> <title>您想去哪个城市:</title> <id>1</id> <count>350</count> <content>广东</content> </movie> <movie> <title>您想去哪个城市:</title> <id>2</id> <count>47</count> <content>湖南</content> </movie> <movie> <title>您想去哪个城市:</title> <id>3</id> <count>118</count> <content>上海</content> </movie> <movie> <title>您想去哪个城市:</title> <id>4</id> <count>122</count> <content>北京</content> </movie> <movie> <title>您想去哪个城市:</title> <id>5</id> <count>80</count> <content>湖北</content> </movie> </movies></textarea></td> </tr> <tr> <td height="47"> </td> <td><input type="submit" name="Submit" value="保存调查数据"> </td> </tr> <tr> <td colspan="2"> </td> </tr> </table> </form> </tr> </head> </html>
2、update.php
<?php $con = mysql_connect('localhost','root','root')or die("could not connect database");//此处根据自己的数据库的名字,密码进行修改 mysql_query("set names utf8"); mysql_select_db('cms_vote')or die("could not select database"); $aid = $_POST['aid']; $votename=$_POST['votename']; $starttime=$_POST['starttime']; $endtime=$_POST['endtime']; $votenote=$_POST['votenote']; $totalcount=$_POST['totalcount']; if(!empty($aid)) { $sql = "UPDATE vote SET Votename= '".$votename."', Starttime='".$starttime."', Endtime='".$endtime."', Totalcount='".$totalcount."', Votenote='".$votenote."' WHERE aid='".$aid."'order by aid desc limit 1;"; $result = mysql_query($sql); if(!empty($result)){ echo '<script>alert(\'数据保存成功\');</script>'; echo "您的调查问卷已生效!"; } else { echo '<script>alert(\'数据保存失败\');</script>'; exit(); } } else{ echo '<script>alert(\'调查异常\');</script>'; exit(); } ?>
验证是否成功:http://localhost:8080/diaocha/admin.php?aid=1
(注意需要加上?aod=1)格式为英文格式
按下保存调查数据按键的时候:会出现
会出现您的调查问卷已生效
3、view.php
<?php $voteitem = $_POST['voteitem']; $con = mysql_connect('localhost','root','root')or die("could not connect database");//密码用户名按照自己的修改 mysql_query("set names utf8"); mysql_select_db('cms_vote')or die("could not select database"); $sql="SELECT *FROM vote"; $result = mysql_query($sql,$con); $arr = mysql_fetch_array($result); $xmlstr = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"; $xmlstr.=$arr['Votenote']; $xml = simplexml_load_string($xmlstr); $b[]=Array(); $a[]=Array(); for($i=0;$i<5;$i++){ $b[$i]=$xml->movie[$i]->count; $a[$i]=$xml->movie[$i]->count+1; } for($i=0;$i<5;$i++){ $b[$i]=$a[$i]; $xmlstra[$i]="<movies> <movie> <title>". $xml->movie[0]->title ."</title> <id>1</id> <count>".$b[0]."</count> <content>". $xml->movie[0]->content ."</content> </movie> <movie> <title>". $xml->movie[0]->title ."</title> <id>2</id> <count>".$b[1]."</count> <content>". $xml->movie[1]->content ."</content> </movie> <movie> <title>". $xml->movie[0]->title ."</title> <id>3</id> <count>".$b[2]."</count> <content>". $xml->movie[2]->content ."</content> </movie> <movie> <title>". $xml->movie[0]->title ."</title> <id>4</id> <count>".$b[3]."</count> <content>". $xml->movie[3]->content ."</content> </movie> <movie> <title>". $xml->movie[0]->title ."</title> <id>4</id> <count>".$b[4]."</count> <content>". $xml->movie[4]->content ."</content> </movie> </movies>"; } if($voteitem!=null){ $sql = "UPDATE vote SET Totalcount=Totalcount+1,Votenote='".$xmlstra[$voteitem]."' order by aid desc limit 1"; $result = mysql_query($sql); $url = 'result.php?aid=1'; switch($voteitem){ case 0: { if(!empty($result)){ echo '<script>alert("投票1成功!");location.href="'.$url.'"</script>'; exit(); } break; } case 1: { if(!empty($result)){ echo '<script>alert("投票2成功!");location.href="'.$url.'"</script>'; exit(); } break; } case 2: { if(!empty($result)){ echo '<script>alert("投票3成功!");location.href="'.$url.'"</script>'; exit(); } break; } case 3: { if(!empty($result)){ echo '<script>alert("投票4成功!");location.href="'.$url.'"</script>'; exit(); } break; } case 4: { if(!empty($result)){ echo '<script>alert("投票5成功!");location.href="'.$url.'"</script>'; exit(); } break; } } } else{ echo '<script>window.close();</script>'; } ?>
会出现以下结果
4、vote.php
<?php $voteitem = $_POST['voteitem']; $con = mysql_connect('localhost','root','root')or die("could not connect database"); mysql_query("set names utf8"); mysql_select_db('cms_vote')or die("could not select database"); $sql="SELECT *FROM vote"; $result = mysql_query($sql,$con); $arr = mysql_fetch_array($result); $xmlstr = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"; $xmlstr.=$arr['Votenote']; $xml = simplexml_load_string($xmlstr); $b[]=Array(); $a[]=Array(); for($i=0;$i<5;$i++){ $b[$i]=$xml->movie[$i]->count; $a[$i]=$xml->movie[$i]->count+1; } for($i=0;$i<5;$i++){ $b[$i]=$a[$i]; $xmlstra[$i]="<movies> <movie> <title>". $xml->movie[0]->title ."</title> <id>1</id> <count>".$b[0]."</count> <content>". $xml->movie[0]->content ."</content> </movie> <movie> <title>". $xml->movie[0]->title ."</title> <id>2</id> <count>".$b[1]."</count> <content>". $xml->movie[1]->content ."</content> </movie> <movie> <title>". $xml->movie[0]->title ."</title> <id>3</id> <count>".$b[2]."</count> <content>". $xml->movie[2]->content ."</content> </movie> <movie> <title>". $xml->movie[0]->title ."</title> <id>4</id> <count>".$b[3]."</count> <content>". $xml->movie[3]->content ."</content> </movie> <movie> <title>". $xml->movie[0]->title ."</title> <id>4</id> <count>".$b[4]."</count> <content>". $xml->movie[4]->content ."</content> </movie> </movies>"; } if($voteitem!=null){ $sql = "UPDATE vote SET Totalcount=Totalcount+1,Votenote='".$xmlstra[$voteitem]."' order by aid desc limit 1"; $result = mysql_query($sql); $url = 'result.php?aid=1'; switch($voteitem){ case 0: { if(!empty($result)){ echo '<script>alert("投票1成功!");location.href="'.$url.'"</script>'; exit(); } break; } case 1: { if(!empty($result)){ echo '<script>alert("投票2成功!");location.href="'.$url.'"</script>'; exit(); } break; } case 2: { if(!empty($result)){ echo '<script>alert("投票3成功!");location.href="'.$url.'"</script>'; exit(); } break; } case 3: { if(!empty($result)){ echo '<script>alert("投票4成功!");location.href="'.$url.'"</script>'; exit(); } break; } case 4: { if(!empty($result)){ echo '<script>alert("投票5成功!");location.href="'.$url.'"</script>'; exit(); } break; } } } else{ echo '<script>window.close();</script>'; } ?>
5、result.php
<?php $con = mysql_connect('localhost','root','root')or die("could not connect database"); mysql_query("set names utf8"); mysql_select_db('cms_vote')or die("could not select database"); $aid = $_GET['aid']; if(!empty($aid)){ $sql="SELECT *FROM vote WHERE aid='".$aid."'"; $result = mysql_query($sql,$con); $arr = mysql_fetch_array($result); $xmlstr = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"; $xmlstr.=$arr['Votenote']; $xml = simplexml_load_string($xmlstr); $n0=$xml->movie[0]->count/$arr['Totalcount']; $n1=$xml->movie[1]->count/$arr['Totalcount']; $n2=$xml->movie[2]->count/$arr['Totalcount']; $n3=$xml->movie[3]->count/$arr['Totalcount']; $n4=$xml->movie[4]->count/$arr['Totalcount']; } /*else { echo '<script>alert(\'调查异常\');</script>'; exit; }*/ ?>
<html> <head> <style > #graphbox{ border:1px solid #e7e7e7; padding:10px; width:545px; background-color:#f8f8f8; margin:5px 0;//这是最大的一个div } .itemname{ width:70px; font-weight:700; font-size:14px; line-height:18px; height:18px; padding:2px; text-align:right; margin-right:atuo; } .percent{ width:150px; float:right; font-size:13px; line-height:18px; height:18px; padding:2px; color:#555; text-align:left; margin-right:3px; } .graph{ position:relative; background-color:#F0EFEF; border:1px solid #cccccc; font-size:13px; width:300px; font-weight:700; float:right; margin-right:3px; } .color1, .color2, .color3, .color4, .color5{ position:relative; text-align:left; color:#ffffff; height:18px; display:block; } .graph .color1{background-color:#afb4db;} .graph .color2{background-color:#84bf96;} .graph .color3{background-color:#ea66a6;} .graph .color4{background-color:#50b7c1;} .graph .color5{background-color:#ffd400;} .font1{color:#669999;} .font2{color:#6699FF;} .font3{color:#FF9900;} .font4{color:#FF3333;} </style> <body> <h3><?php echo $arr['Votename']; ?></h3> <td>调查结果</td> <div> <td>调查开始时间:<?php echo $arr['Starttime']; ?> 调查结束时间:<?php echo $arr['Endtime']; ?> 调查总人数:<?php echo $arr['Totalcount']; ?></td></td> <div> <div id="graphbox"> <div class="little_box"> <div class="percent"><?php echo sprintf("%01.0f",$n0*100).'%';?> <?php echo $xml->movie[0]->count;?></div> <div class="graph"> <span class="color1" style="width:<?php echo sprintf("%01.0f",$n0*100).'%';?>"> </span></div> <div class="itemname font1"><?php echo $xml->movie[0]->content;?></div> </div> <div class="little_box"> <div class="percent"><?php echo sprintf("%01.0f",$n1*100).'%';?> <?php echo $xml->movie[1]->count;?></div> <div class="graph"> <span class="color2" style="width:<?php echo sprintf("%01.0f",$n1*100).'%';?>"> </span></div> <div class="itemname font2"><?php echo $xml->movie[1]->content;?></div> </div> <div class="little_box"> <div class="percent"><?php echo sprintf("%01.0f",$n2*100).'%';?> <?php echo $xml->movie[2]->count;?> </div> <div class="graph"> <span class="color3" style="width:<?php echo sprintf("%01.0f",$n2*100).'%';?>;"> </span></div> <div class="itemname font3"><?php echo $xml->movie[2]->content;?></div> </div> <div class="little_box"> <div class="percent"><?php echo sprintf("%01.0f",$n3*100).'%';?> <?php echo $xml->movie[3]->count;?> </div> <div class="graph"> <span class="color4" style="width:<?php echo sprintf("%01.0f",$n3*100).'%';?>;"> </span></div> <div class="itemname font4"><?php echo $xml->movie[3]->content;?></div> </div> <div class="little_box"> <div class="percent"><?php echo sprintf("%01.0f",$n4*100).'%';?> <?php echo $xml->movie[4]->count;?> </div> <div class="graph"> <span class="color5" style="width:<?php echo sprintf("%01.0f",$n4*100).'%';?>;"> </span></div> <div class="itemname font5"><?php echo $xml->movie[4]->content;?></div> </div> </div> </body> </head> </html>
以上就是php+mysql+xml实现的问卷调查(代码)的详细内容,更多请关注Gxl网其它相关文章!