1.建立两个表格:要显示百分比的话,就要在选项表中加上一列标记number

2.链接数据库,并对题目和选项进行显示

<?php
$db=new MySQLi("localhost","root","123","test1");
mysqli_connect_error()?"连接失败":"";
$sql1="select * from timu ";
$result1=$db->query($sql1);
$attr1=$result1->fetch_row(); $sql2="select * from xuanxiang";
$result2=$db->query($sql2);
$attr2=$result2->fetch_all();
?>
<div id="timu" style="display:block;">
<form action="toupiao.php" method="post">
<?php
echo $attr1[1];//题目显示
$v=array();
foreach($attr2 as $v)
{
echo "<div><input type='checkbox' value='{$v[0]}' name='xx[]'>{$v[1]}</div>"; //选项显示
} ?>
<input type="submit" value="投票"><input type="button" value="查看详情" onclick="xianshi(0)">
</form> </div> <div id='baifenbi' style="display:none;">
<?php

3.给选中项的number列加1处理

/*--------------------------选中的数量加1--------计算number列的总数量----------------------------------------*/
if(!empty($_POST['xx']))
{
$attr3=$_POST['xx'];
$str=implode("','",$attr3);
$sql3="update xuanxiang set number=number+1 where ids in ('{$str}')"; //给number列+1,
$result3=$db->query($sql3);
if($result3)
{
$sql4="select sum(number) from xuanxiang";
$result4=$db->query($sql4);
$num=$result4->fetch_row(); //把number列的数值取总和

4.显示选项的百分比

/*------------------------------百分比显示---------------------------------------------------------*/
echo "<div>"; foreach($attr2 as $vv)
{
$baifenbi=($vv[2]/$num[0])*100; echo "{$vv[1]}&nbsp;&nbsp;&nbsp;{$baifenbi}%<div style='width:200px;height:6px; border:1px solid black;'><div style='width:{$baifenbi}%;height:6px;background-color:red;'></div></div>"; //显示百分比,是用两个div,外层的固定宽度,内层的通过百分比给宽度赋值,并设背景色 }
echo "<input type='button' value='返回' onclick='xianshi(1)'>";
echo "</div>";
}
} ?>

5.js实现投票和百分比显示的交替(投票和百分比界面分别写在两个div中)

<script>
function xianshi(a)
{
if(a==0)
{
document.getElementById("baifenbi").style.display="block";
document.getElementById("timu").style.display="none";
}
else
{
document.getElementById("baifenbi").style.display="none";
document.getElementById("timu").style.display="block";
}
} </script>

php部分--题目:投票 重点:两个div套用,显示百分比;的更多相关文章

  1. 两个DIV并排显示

    今天做的一个项目,需要做3个div,一个是总框(Div1),另外两个是子框,按比例填满div1,我设置好两个div的width和height,发现效果是两个子div上下显示,如图所示: 要想将两个DI ...

  2. 在HTML中实现两个div并排显示

    在HTML中让两个div并排显示,通常情况下有三种实现方式,包括: (1)设置为行内样式,display:inline-block (2)设置float浮动 (3)设置position定位属性为abs ...

  3. 让两个Div并排显示

    一.使用display的inline属性 <div style="width:300px; height:auto; float:left; display:inline"& ...

  4. 如何让两个div并排显示

    正常情况下两个div都是上下排版的,那么怎么让它们并排显示呢? 方法一:都左浮动float:left; 方法二:一个左浮动,一个右浮动 方法三:给两个div都设置display:inline属性,但两 ...

  5. 两个div并排显示,当浏览器界面缩小时会出现换行

    解决:规定两个子div的父div的宽 <div id="showDataDiv" style="width: 1000px"> <div st ...

  6. 2016/3/30 ①投票checkbox ②进度条两个div套起百分比控制内div(width) <div><div></div></div> ③数据库test2 表 diaoyan... 35岁发展方向投票

    分两个页面,要点:提交form 相连action method  两个页面可以合成一个页面action传到自身页面   但分开较清晰 第一个页面vote.php <!DOCTYPE html P ...

  7. 两个div并列居中显示——当display:inline;时,div的宽高不起作用即两个div重叠显示

    解决办法: 将display设置为:inline-block

  8. 两个div不同高度并排显示

    在HTML中让两个div并排显示,通常情况下有三种实现方式,包括: (1)设置为行内样式,display:inline-block (2)设置float浮动 (3)设置position定位属性为abs ...

  9. Flex 布局 (两个div居中自适应 宽度变小变一列,宽度够就是两列)

    https://www.runoob.com/w3cnote/flex-grammar.html display: flex; justify-content: center; align-items ...

随机推荐

  1. 转载——分享一个html+js+ashx+easyui+ado.net权限管理系统

    EasyUI.权限管理 这是个都快被搞烂了的组合,但是easyui的确好用,权限管理在项目中的确实用.一直以来博客园里也不少朋友分享过,但是感觉好的要不没源码,要不就是过度设计写的太复杂看不懂,也懒得 ...

  2. HDU 1022 Train Problem I[给出两个长n的串,入栈和出栈顺序,判断入栈顺序是否可以匹配出栈顺序]

    Train Problem I 时间限制:3000 ms  |  内存限制:65535 KB 难度:2 描述 As the new term comes, the Ignatius Train Sta ...

  3. GCJ——Minimum Scalar Product(2008 Round1 AA)

    题意: 给定两组各n个数,可任意调整同一组数之中数字的顺序,求 sum xi*yi i=1..n的最小值. Small: n<=8 abs xy,yi<=1000 Large: n< ...

  4. 从客户端(ExportContent="...ontinuous <br />Pass Count":13...")中检测到有潜在危险的 Request.Form 值。

    mvc中,用chrome浏览器导出excel提示如题错误的解决办法. <system.web> <httpRuntime requestValidationMode="2. ...

  5. PHP的fsockopen方式访问接口慢的原因与优化方案

    在开发过程中常常遇到这样的需求,模拟浏览器访问某接口,并获取返回数据.我们比较常使用的方法是fsockopen与接口建立连接,然后发出指令,然后通过fgets接受返回值. 但是我们发现,通过PHP模拟 ...

  6. setlocale 与 mbstowcs 的问题

    C++的字符串转换函数mbstowcs使用时容易产生bug... rapidxml_utils.hpp 的file(const char*filename)函数内会异常宕机... 需要在函数最开始添加 ...

  7. ios svn学习笔记(一)

    1, 遇到问题 git add in Xcode generates com.apple.dt.IDESourceControlErrorDomain error -70 这个错误发生在要右键选择要c ...

  8. Git之Github使用(一):Push代码到Github

    Git之Github使用(一):Push代码到Github 热度 2已有 58 次阅读2016-8-26 17:56 |个人分类:常见问题|系统分类:移动开发| 互联网, commit, status ...

  9. Android requestLayout 和 invalidata , postInvalidate 比较

    Android 中的View更新方法 invalidate 在UI线程中使用. postInvalidate 在非UI线程中通知重绘. View 确定自身已经不适合现有区域时,调用requestLay ...

  10. 第一次用THINKPHP 报路径错

    我第一次 看网上写的代码 define('THINK_PATH','ThinkPHP');define('App_NAME','43');define('App_PATH','.'); require ...