本文实例为大家分享了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程序设计有所帮助。