• 使用PHP+MySql操作——实现微信投票功能


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

    <?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="0710_info")
      {
        //造连接对象
        $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;
          }   
        }
          
      }
  • 相关阅读:
    C# 线程手册 第二章 .NET 中的线程
    C# 线程手册 第一章 线程定义 .NET 和 C# 对线程的支持
    C# 线程手册 第二章 .NET 中的线程 创建一个线程
    C# 线程手册 第一章 线程定义 线程
    C# 线程手册 第二章 .NET 中的线程 时钟和回调
    C# 线程手册 第二章 .NET 中的线程 线程的生命周期
    C# 线程手册 第二章 .NET 中的线程 线程的优势
    Visual Entity 教程(一)从数据库创建模型
    Visual Entity 教程(三)添加 Attribute 到类或属性中
    Linq to Oracle 使用教程(二)创建实体类
  • 原文地址:https://www.cnblogs.com/jly144000/p/7608419.html
Copyright © 2020-2023  润新知