php+mysql+xml实现的问卷调查(代码)

来源:不言 发布时间:2018-10-15 15:09:49 阅读量:1405

本篇文章给大家带来的内容是关于php+mysql+xml实现的问卷调查(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

本人根据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内部的内容为:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

<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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

<?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;

}

?>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

<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">&nbsp;</td>

<td><input type="submit" name="Submit" value="保存调查数据">

</td>

</tr>

<tr>

<td colspan="2">&nbsp;</td>

</tr>

</table>

</form>

</tr>

</head>

</html>


2、update.php

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

<?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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

<?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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

<?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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

<?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;

}*/

?>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

<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).'%';?>">&nbsp;</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).'%';?>">&nbsp;</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).'%';?>;">&nbsp;</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).'%';?>;">&nbsp;</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).'%';?>;">&nbsp;</span></div>

<div class="itemname font5"><?php  echo $xml->movie[4]->content;?></div>

</div>

  

</div>

</body>

</head>

</html>


标签: PHP
分享:
评论:
你还没有登录,请先