使用php+mysql+xml完成一个调查问卷
本人根据php典型模块与项目实战大全此书所完成的一个调查问卷,同时管理员可以进行修改调查内容
同时用到了一个css文件,借鉴于
http://www.wufangbo.com/div-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完成一个调查问卷的更多相关文章
- <问吧>调查问卷心得体会
<问吧>调查问卷心得与体会 在这之前,我们已经组成了一个六个人的小团队---“走廊奔跑队”,我们这次做的这个项目的名称是:问吧.在项目实施之前,我们必做的一步就是需求分析,目的就是充分了解 ...
- SAP CRM调查问卷的评分和图表显示功能介绍
SAP CRM里我们使用事务码CRM_SURVEY_SUITE创建一个调查问卷(Survey): 其中调查问卷的问题和答案均可分配权值(Rate),最后该问卷总的分数等于每个问题的权值乘以客户选择答案 ...
- android 实现调查问卷-单选-多选
非常久没写东西了.今天来总结下有关android调查问卷的需求实现. 转载请加地址:http://blog.csdn.net/jing110fei/article/details/46618229 先 ...
- 使用ABAP代码提交SAP CRM Survey调查问卷
Jerry之前曾经写过两篇关于SAP CRM Survey调查问卷的技术文章: SAP CRM Survey调查问卷的模型设计原理解析 如何使用SAP CRM Marketing Survey创建一个 ...
- springMVC 调查问卷系统 record
Maven下的依赖包有两个 spring-web和springWebMVC springwebMVC包含spring-web依赖, 但是spring-web的等级大于Spring-webmvc 没有 ...
- java web(一) 使用sql标签库+tomcat+mysql手动创建一个jsp练习总结
2016-09-0111:06:53 使用sql标签库+tomcat+mysql手动创建一个jsp 1. 1.1安装tomcat ...
- "琳琅满屋"调查问卷 心得体会及结果分析
·关于心得体会 当时小组提出这个校园二手交易市场的时候,就确定了对象范围,仅仅是面向在校大学生,而且在我们之前就已经有了很多成功的商品交易的例子可以让我们去借鉴,再加上我们或多或少的有过网 ...
- 关于“Durian”调查问卷的心得体会
这周我们做了项目着手前的客户需求调查,主要以调查问卷的方式进行.其实做问卷调查并不是想象中的那么简单,首先要确定问卷调查的内容,每一个问题都要经过深思熟虑,字字斟酌,既要切合问卷主要目的,又要简洁扼要 ...
- 从Adobe调查问卷看原型设计工具大战
近年国内外原型设计工具新品频出,除了拥趸众多的老牌Axure在RP 8之后没有什么大的动作,大家都拼了命地在出新品.今天 inVision 的 Craft 出了 2.0 的预告视频,明天 Adobe ...
随机推荐
- 2019-2020-1 20199310《Linux内核原理与分析》第十一周作业
1.问题描述 在一个capability系统中,当一个程序运行时,对应的线程会初始化一系列capabilities(令牌).当线程尝试访问某个对象时,操作系统会检查该线程的capabilities,并 ...
- 使用3种协议搭建yum仓库
制作本地yum仓库 开启服务一般要关闭防火墙,selinux之后再reboot ## 方案一:FTP协议------ftp://IP 下载vsftpd---启动vsftpd---ftp://10.0. ...
- MongoDB学习(四):通过Java使用MongoDB
环境配置 在Java项目中使用MongoDB,需要在项目中引入mongo.jar这个包.下载地址:下载 请尽量下载较新的版本,本文用的是2.10.1. 连接MongoDB public synchro ...
- Nginx模块开发(3)————使用upstream访问第三方服务
该模块可以完成如下的功能,当我们输入http://你的ip/lcwupstream时,会使用upstream方式访问淘宝搜索,打开淘宝搜索的主页面,代码如下: //start from the ver ...
- linux关于suid提权笔记
suid全称是Set owner User ID up on execution.这是Linux给可执行文件的一个属性,上述情况下,普通用户之所以也可以使用ping命令,原因就在我们给ping这个可执 ...
- B. Working out 四角dp
https://codeforces.com/problemset/problem/429/B 这个题目之前写过,不过好像..忘记了,今天又没有写出来,应该之前没有想明白... 这个应该算一个四角dp ...
- Kafka 的一些知识点整理【1】
First: Kafka 是什么? Kafka 是一个发布订阅系统 最初是是LinkedIn 开发 最后交给Apache 开源组织 github地址:https://github.com/apache ...
- 装完B就跑,这几个Linux指令真的Diǎo
本文介绍一些有趣的指令,实用或者可以装逼,不妨自己也来试试看: 文章目录 1 故事的开局 2 杰哥的表演 2.1 sl 2.2 htop 2.3 gcp 2.4 hollywood 2.5 cmatr ...
- Ubuntu 1804 安装xmind8详细过程
安装比较简单, 折腾了很久,一启动就报错,切换了JDK版本就能用了: 安装 登陆官网,下载xmind8: 下载得到文件xmind-8-update9-linux.zip: 将文件解压至路径xmind下 ...
- DotNet:Socket Server 异步套接字服务端实现
异步服务器套接字示例 From https://msdn.microsoft.com/zh-cn/library/fx6588te(v=vs.110).aspx 下面的示例程序创建接收来自客户端的连接 ...