php查询操作实现投票功能

5年以前  |  阅读数:430 次  |  编程语言:PHP 

本文实例为大家分享了php查询操作实现投票功能的代码,供大家参考,具体内容如下

题目:

解题方法汇总:

方法一:
1. 投票主页面:


    <!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.处理投票页面:


    <?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. 建立访问数据库的类,封装用于引用:


    <?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. 投票主页面:


    <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. 处理投票页面:


    <?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. 查看投票结果页面:


    <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程序设计有所帮助。

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例