zoukankan      html  css  js  c++  java
  • 百分比进度条

    显示界面

      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
  • 相关阅读:
    JQuery中$.ajax()方法参数详解
    overload和override的区别
    linux 安装jdk和tomcat
    linux链接外网手动设置
    RISC与CISCCPU构架
    32位与64位内存区别
    system 系统调用、gcc编译过程
    c helloworld
    C语言中 有符号数、无符号数、整数溢出 (转)
    samba安装
  • 原文地址:https://www.cnblogs.com/zc290987034/p/6034050.html
Copyright © 2011-2022 走看看