百分比进度条
显示界面
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='width:100px; height:10px; border:1px solid black;'><div style='width:{$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