本文实例为大家分享了php查询操作实现投票功能的代码,供大家参考,具体内容如下
题目:
解题方法汇总:
方法一:
1. 投票主页面:
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
|
<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd" > <html xmlns= "http://www.w3.org/1999/xhtml" > <head> <meta http-equiv= "content-type" content= "text/html; charset=utf-8" /> <title>投票</title> <style> #list { width:400px; height:300px;} #jieguo { width:400px; height:300px;} .x { float:left;} </style> </head> <body> <form action= "touchuli.php" method= "post" > <?php include ( "dbda.class.php" ); $db = new dbda(); //从调研题目表中找出题目代号和名称 $sql = "select * from diaoyantimu limit 0,1" ; $arr = $db ->query( $sql ); $tmmc = $arr [0][1]; $tmdh = $arr [0][0]; echo "<div><h2>{$tmmc}:</h2></div>" ; //从调研选项表中输出选项内容: $sqlxx = "select * from diaoyanxuanxiang where timudaihao='{$tmdh}'" ; $arrxx = $db ->query( $sqlxx ); echo "<div id='list'>" ; foreach ( $arrxx as $v ) { echo "<div><input type='checkbox' value='{$v[0]}' name='xx[]'>{$v[1]}</div><br />" ; } ?> <input type= "submit" value= "提交" > <input type= "button" value= "查看结果" id= "check" onclick= "showjieguo()" > </form> </div> <div id= "jieguo" style= "display:none" > <?php //计算总人数: $sqlzs = "select sum(numbers) from diaoyanxuanxiang where timudaihao='{$tmdh}'" ; $zrs = $db ->query( $sqlzs ); foreach ( $arrxx as $v ) { $name = $v [1]; $number = $v [2]; if ( $zrs [0][0]==0) { $bfb = 0; } else { $bfb = ( $number / $zrs [0][0])*100; } $bfb = round ( $bfb ,2); echo "<div> <span class = 'x' >{ $name } </span> <div class = 'x' style= 'width:200px; height:10px; background-color:#808080' > <div style= 'width:{$bfb}%; height:10px; background-color:#ff8040' > </div> </div> <span class = 'x' >{ $number } </span> <span class = 'x' >{ $bfb }% </span> </div> <br /> "; } ?> <input type= "button" value= "返回" id= "fanhui" onclick= "showfanhui()" > </div> <script> function showjieguo() { document.getelementbyid( "list" ).style.display= "none" ; document.getelementbyid( "jieguo" ).style.display= "block" ; } function showfanhui() { document.getelementbyid( "list" ).style.display= "block" ; document.getelementbyid( "jieguo" ).style.display= "none" ; } </script> </body> </html> |
2.处理投票页面:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<?php $arr = $_post [ "xx" ]; include ( "../dbda.class.php" ); $db = new dbda(); foreach ( $arr as $v ) { $sql = "update diaoyanxuanxiang set numbers = numbers+1 where ids = '{$v}'" ; $db ->query( $sql ,1); //1代表$sql的类型 } header ( "location:toupiao.php" ); ?> |
3. 建立访问数据库的类,封装用于引用:
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
|
<?php //执行一个sql语句,返回相应的结果 class dbda { public $host = "localhost" ; //数据库服务器地址 public $uid = "root" ; //数据库用户名 public $password = "" ; //数据库密码 //执行sql语句的方法 //参数里面:$sql代表要执行的sql语句;$type是sql语句的类型,0代表查询,1代表其他(增删改);$db代表要操作的数据库 function query( $sql , $type =0, $db = "mydb" ) { //造连接对象 $dbconnect = new mysqli( $this ->host, $this ->uid, $this ->password, $db ); //判断连接是否出错 !mysqli_connect_error() or die ( "连接失败!" ); //执行sql语句 $result = $dbconnect ->query( $sql ); //判断sql语句类型 if ( $type ==0) { //如果是查询语句返回结果集的二维数组 return $result ->fetch_all(); } else { //如果是其他语句,返回true或false return $result ; } } } |
方法二:
1. 投票主页面:
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
|
<html> <head> <meta http-equiv= "content-type" content= "text/html; charset=utf-8" /> <title>投票</title> <style> .x { float:left;} </style> </head> <body> <form action= "touchuli.php" method= "post" > <?php include ( "../dbda.class.php" ); $db = new dbda(); //从调研题目表中找出题目代号和名称 $sql = "select * from diaoyantimu limit 0,1" ; $arr = $db ->query( $sql ); $tmmc = $arr [0][1]; $tmdh = $arr [0][0]; echo "<div><h2>{$tmmc}:</h2></div>" ; //从调研选项表中输出选项内容: $sqlxx = "select * from diaoyanxuanxiang where timudaihao='{$tmdh}'" ; $arrxx = $db ->query( $sqlxx ); echo "<div id='list'>" ; foreach ( $arrxx as $v ) { echo "<div><input type='checkbox' value='{$v[0]}' name='xx[]'>{$v[1]}</div><br />" ; } ?> <input type= "submit" value= "提交" > <a href= "chakan.php" ><input type= "button" value= "查看结果" id= "check" ></a> </form> </body> </html> |
2. 处理投票页面:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<?php $arr = $_post [ "xx" ]; include ( "../dbda.class.php" ); $db = new dbda(); foreach ( $arr as $v ) { $sql = "update diaoyanxuanxiang set numbers = numbers+1 where ids = '{$v}'" ; $db ->query( $sql ,1); //1代表$sql的类型 } header ( "location:toupiao.php" ); ?> |
3. 查看投票结果页面:
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
|
<html> <head> <meta http-equiv= "content-type" content= "text/html; charset=utf-8" /> <title>查看结果</title> <style> .x { float:left;} </style> </head> <body> <?php include ( "../dbda.class.php" ); $db = new dbda(); //从调研题目表中找出题目代号和名称 $sql = "select * from diaoyantimu limit 0,1" ; $arr = $db ->query( $sql ); $tmmc = $arr [0][1]; echo "<div><h2>{$tmmc}:</h2></div>" ; //从调研选项表中输出选项内容: $sqlxx = "select * from diaoyanxuanxiang where timudaihao='{$arr[0][0]}'" ; $arrxx = $db ->query( $sqlxx ); //计算总人数: $sqlzs = "select sum(numbers) from diaoyanxuanxiang where timudaihao='{$arr[0][0]}'" ; $zrs = $db ->query( $sqlzs ); foreach ( $arrxx as $v ) { $name = $v [1]; //调研项目名称 $number = $v [2]; //选择该项的人数 //判断总人数是否为0 if ( $zrs [0][0]==0) { $bfb = 0; } else { $bfb = ( $number / $zrs [0][0])*100; //求百分比 } $bfb = round ( $bfb ,2); //取小数点后两位 echo "<div> <span class = 'x' >{ $name } </span> <div class = 'x' style= 'width:200px; height:10px; background-color:#808080' > <div style= 'width:{$bfb}%; height:10px; background-color:#ff8040' > </div> </div> <span class = 'x' >{ $number } </span> <span class = 'x' >{ $bfb }%</span><br /> </div><br />"; } ?> <br /> <a href= "toupiao.php" ><input type= "button" value= "返回" ></a> </body> </html> |
显示结果:
以上就是本文的全部内容,希望对大家学习php程序设计有所帮助。