zoukankan      html  css  js  c++  java
  • 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">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>投票</title>
    <style>
    #list
    {
      400px;
      height:300px;}
    #jieguo
    {
      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='200px; height:10px; background-color:#808080'>
        <div style='{$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='200px; height:10px; background-color:#808080'>
      <div style='{$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程序设计有所帮助。

  • 相关阅读:
    前端笔记之JavaScript(六)让人头疼的正则表达式
    前端笔记之JavaScript(五)关于数组和字符串那点事
    前端笔记之JavaScript(四)关于函数、作用域、闭包那点事
    前端笔记之JavaScript(三)关于条件判断语句、循环语句那点事
    前端笔记之JavaScript(二)关于运算符&初识条件判断语句
    前端笔记之CSS(下)浮动&BFC&定位&Hack
    前端笔记之CSS(上)语法&文本属性&块/行内元素&选择器&盒模型
    artTemplate--使用artTemplate时,由于json对象属性有数字命名格式 导致调用报错 syntax error
    多线程--做单元测试时,使用线程池发现并没有运行指定代码,直接跳过
    JSP-导入taglib 出现classNotFound异常
  • 原文地址:https://www.cnblogs.com/shenzikun1314/p/6472984.html
Copyright © 2011-2022 走看看