php查询操作实现投票功能

这篇文章主要为大家详细介绍了php查询操作实现投票功能的具体代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

 

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

转载于:https://www.cnblogs.com/shenzikun1314/p/6472984.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值