百分比进度条

显示界面

  1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2 <html xmlns="http://www.w3.org/1999/xhtml">
  3 <head>
  4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5 <title>无标题文档</title>
  6 <style type="text/css">
  7 #fanhui{ display:none}    <!--JS不能控制内联的,将返回按钮隐藏-->
  8 </style>
  9 </head>
 10 
 11 <body>
 12 <form action="tpchuli.php" method="post"> <!--表单开头  1 -->
 13 <?php
 14 
 15 
 16 //连接数据库   1
 17 $db = new  MySQLi("localhost","root","123","mydb");
 18 
 19 
 20 //写sql语句  1
 21 $sql = "select * from diaoyantimu";
 22 
 23 //执行sql语句  1
 24 $result = $db->query($sql);
 25 
 26 //调用$result所接受到的数据,转换成二维数组,交给给$attr,再转出去  1
 27 $attr = $result->fetch_all();
 28 
 29 foreach($attr as $v) //foreach循环所转换出二维数组,循环遍历出每一条数据  1
 30 {
 31     echo "<div>{$v[1]}</div>";  //输出题目标题   输出你想要显示的那个列的内容
 32                      //   找    这个表       里边的   这个列=这个表里的主键    $v索引[0]是此表的主键    这句话就是将上面那个题目的选项查出来   1 
 33     $sxx = "select * from diaoyanxuanxiang where timudaihao='{$v[0]}'";
 34     //        使用块方法来执行 返回结果级对象给$rxx 接受  1
 35     $rxx = $db->query($sxx);
 36     //$axx收到的结果集对象后用fetch_all取出数据  1       
 37     $axx = $rxx->fetch_all();
 38     
 39     $bs = 0;   //定义变量默认等于零   3
 40     if(!empty($_GET["a"]))  //判断另一个表传过来的a  有没有值  3
 41     {
 42         $bs = $_GET["a"];   //如果有值进判断 把值交给$ds,外面的$ds就有值了    3
 43     }
 44     
 45     $s = $bs==1?"none":"block";  //判断$ds==1?如果ds等于1"让隐藏":如果ds是零"让显示";  3
 46     //这个div是投票                            3
 47     echo "<div id='toupiao' style='display:{$s}'>";  //输出div将foreach求出的值扩起来,可以 2
 48     foreach($axx as $v1) //foreach遍历一下二维数组,进了这个选项,这个$v1取到的是每一个选项的信息  1
 49     {    
 50         //输出选项的信息    <input 在选项前面加上复选框 name'给个neme值,此选项是需要提交的! tp[ 以数组的方式提交 ]' value='{$v1[0]'提交选项的主键值} /> 1
 51         echo "<div><input type='checkbox' name='tp[]' value='{$v1[0]}' />{$v1[1]}</div>";   
 52     }   //显示选项
 53     
 54     echo "</div>";  //投票div
 55     
 56     $s1 = $bs==0?"none":"block";   //判断$ds==0?如果ds等于0"让隐藏":如果ds是一"让显示";    3
 57     
 58     //显示投票结果
 59     echo "<div id='jieguo' style='display:{$s1}'>";
 60     
 61     foreach($axx as $v2)  //循环遍历$axx之前上面求出的值
 62     {
 63         $v2[2]; //求百分比 先求当前选项的人数
 64         //再求总人数       求这个列      from      这个表        条件  这个列=这个列的主键
 65         $szrs = "select sum(numbers) from diaoyanxuanxiang where timudaihao='{$v[0]}'";
 66         //使用块方法执行语句
 67         $rzrs = $db->query($szrs);
 68         $azrs = $rzrs->fetch_row();  //取到的是第一条数据 是一维数组
 69         $azrs[0]; //以为数组取索引0 就是总人数
 70         
 71         $bfb = ($v2[2]/$azrs[0])*100;    //$bfb =($v2[2]当前人数 除以/ 总人数) 得出的是小数 乘以 *100  就是百分数
 72         
 73         //显示$v2[1]选项的内容  <外层 div>设置进度条边框 <里层 div>设置进度</div></div>
 74         echo "<div>{$v2[1]}<div style='100px; height:10px; border:1px solid black;'><div style='{$bfb}%; height:10px; background-color:red'></div></div>{$v2[2]} {$bfb}%</div>";  //{ $v2[2]  显示人数,} { 显示}百分比 %
 75     } //选项结果 
 76     
 77     echo "</div>";   //投票结果
 78 }
 79 
 80 ?>
 81 
 82 <input type="submit" value="投票" />  <!--提交投票-->
 83 <input type="button" id="jg" value="查看结果" onclick="showjg()" /><!--查看结果按钮-->
 84 <input type="button" id="fanhui" value="返回" onclick="showtp()"  /><!--返回按钮-->
 85 </form>  <!--表单结束 1-->
 86 </body>
 87 
 88 <script type="text/javascript">
 89 function showjg()  //将查看结果按钮做个判断,点击它会有什么显示
 90 {
 91     document.getElementById("jieguo").style.display="block";//找到jieguo  将显示
 92     document.getElementById("toupiao").style.display="none";//找到toupiao  将隐藏
 93     document.getElementById("jg").style.display="none";  //找到jg   将查看结果按钮隐藏
 94     document.getElementById("fanhui").style.display="block";//找到fanhui   将返回按钮显示
 95     
 96 }
 97 
 98 function showtp()//将返回按钮做个判断,点击它会有什么显示
 99 {
100     document.getElementById("jieguo").style.display="none";  //找到jieguo  将隐藏
101     document.getElementById("toupiao").style.display="block";//找到toupiao  将显示
102     document.getElementById("jg").style.display="block";//找到jg   将查看结果按钮显示
103     document.getElementById("fanhui").style.display="none";//找到fanhui   将返回按钮隐藏
104 }
105 </script>
106 </html>

纯处理页面

<!-- 1 -->

<?php
$attr = $_POST["tp"];   //取tp和显示页面连起来,tp 取到的是数组,因为另一个页面是用数组提交的 []  取到的是每一个选项的主键值

$str = implode("','",$attr);   //implode将求出的数组合并成字符串  合并字符串的分隔符是 ','

//修改的公式      这个表 set要设置谁    这个列 等于它原来的值加一 条件   将$str得到的分隔符和值 '拼接上' 
$sql = "update diaoyanxuanxiang set numbers = numbers+1 where ids in('{$str}')";


//执行sql语句
$db = new MySQLi("localhost","root","123","mydb");
//db->调用query块方法执行
$db->query($sql);  //这个不是查询语句不用转换成二维数组关联数组什么的

header("location:toupiao.php?a=1");  //跳转到显示页面

//当点击投票按钮会先进处理页面,访问到数据库将值取出,在取出之前我给他设置一个a=1       3
原文地址:https://www.cnblogs.com/zc290987034/p/6034050.html