1.建立数据库

表1:DiaoYanTiMu

表2:DiaoYanXuanXiang

2.页面

页面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>
<style type="text/css">
#fanhui{ display:none}
</style>
</head> <body>
<form action="tpchuli.php" method="post">
<?php

$db = new  MySQLi("localhost","root","123","mydb");

$sql = "select * from diaoyantimu";

$result = $db->query($sql);

$attr = $result->fetch_all();

foreach($attr as $v)
{
echo "<div>{$v[1]}</div>"; $sxx = "select * from diaoyanxuanxiang where timudaihao='{$v[0]}'"; $rxx = $db->query($sxx);
$axx = $rxx->fetch_all(); $bs = 0;
if(!empty($_GET["a"]))
{
$bs = $_GET["a"];
} $s = $bs==1?"none":"block"; echo "<div id='toupiao' style='display:{$s}'>";
foreach($axx as $v1)
{
echo "<div><input type='checkbox' name='tp[]' value='{$v1[0]}' />{$v1[1]}</div>";
}
echo "</div>"; $s1 = $bs==0?"none":"block"; //显示投票结果
echo "<div id='jieguo' style='display:{$s1}'>"; foreach($axx as $v2)
{
$v2[2]; //当前选项的人数
//求总人数
$szrs = "select sum(numbers) from diaoyanxuanxiang where timudaihao='{$v[0]}'";
$rzrs = $db->query($szrs);
$azrs = $rzrs->fetch_row();
$azrs[0]; //总人数 $bfb = ($v2[2]/$azrs[0])*100; echo "<div>{$v2[1]}<div style='width:100px; height:10px; border:1px solid black;'><div style='width:{$bfb}%; height:10px; </div></div>{$v2[2]} {$bfb}%</div>";
} echo "</div>";
} ?>
<input type="submit" value="投票" />
<input type="button" id="jg" value="查看结果" onclick="showjg()" />
<input type="button" id="fanhui" value="返回" onclick="showtp()" />
</form>
</body> <script type="text/javascript">
function showjg()
{
document.getElementById("jieguo").style.display="block";
document.getElementById("toupiao").style.display="none";
document.getElementById("jg").style.display="none";
document.getElementById("fanhui").style.display="block"; } function showtp()
{
document.getElementById("jieguo").style.display="none";
document.getElementById("toupiao").style.display="block";
document.getElementById("jg").style.display="block";
document.getElementById("fanhui").style.display="none";
}
</script>
</html>

页面2:处理页面

<?php
$attr = $_POST["tp"]; $str = implode("','",$attr); $sql = "update diaoyanxuanxiang set numbers = numbers+1 where ids in('{$str}')"; $db = new MySQLi("localhost","root","123","mydb");
$db->query($sql); header("location:toupiao.php?a=1");

PHP 练习(投票)的更多相关文章

  1. 运用php做投票题,例题

    要求大概是这样的,有一个题目,题目下面是复选框,要求点完复选框提交后会变成进度条,各选项的进度条百分比,和投票数量 首先还是要在数据库建两张表,如下: 要完成这个题目,需要建两个页面 <!DOC ...

  2. easy_UI 投票列表

    首先我们考虑一下在项目投票种用到的属性(ID,投票标题,备选项目,参与人数) entity package cn.entity; public class GridNode { private Lon ...

  3. 利用django创建一个投票网站(六)

    建你的第一个 Django 项目, 第六部分 这一篇从第五部分(zh)结尾的地方继续讲起.再上一节中我们为网络投票程序编写了测试,而现在我们要为它加上样式和图片. 除了服务端生成的 HTML 以外,网 ...

  4. 利用django创建一个投票网站(五)

    创建你的第一个 Django 项目, 第五部分 这一篇从第四部分(en)结尾的地方继续讲起.我们在前几章成功的构建了一个在线投票应用,在这一部分里我们将其创建一些自动化测试. 自动化测试简介 自动化测 ...

  5. 利用django创建一个投票网站(四)

    创建你的第一个 Django 项目, 第四部分 这一篇从第三部分(zh)结尾的地方继续讲起.我们将继续编写投票应用,专注于简单的表单处理并且精简我们的代码. 编写一个简单的表单 让我们更新一下在上一个 ...

  6. 利用django创建一个投票网站(三)

    创建你的第一个 Django 项目, 第三部分 这一篇从第二部分(zh)结尾的地方继续讲起.我们将继续编写投票应用,并且聚焦于如何创建公用界面--也被称为"视图". 设计哲学 Dj ...

  7. 利用django创建一个投票网站(二)

    创建你的第一个 Django 项目, 第二部分 这一篇从第一部分(zh)结尾的地方继续讲起.本节我们将继续写 Web 投票应用,并主要关注 Django 提供的自动生成的管理页面(admin site ...

  8. 利用django创建一个投票网站(一)

    这是教程的原始链接:http://django-intro-zh.readthedocs.io/zh_CN/latest/part1/ 创建你的第一个 Django 项目, 第一部分 来跟着实际项目学 ...

  9. Django基础,Day5 - form表单投票详解

    投票URL polls/urls.py: # ex: /polls/5/vote/ url(r'^(?P<question_id>[0-9]+)/vote/$', views.vote, ...

  10. PHP类的封装和做投票和用进度条显示

    三处理传过来的数据1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:// ...

随机推荐

  1. ASP.NET Core 系列[1]:ASP.NET Core 初识

    ASP.NET Core 是一个跨平台的高性能开源框架,是一个用于连接到互联网的基于云的现代应用程序. ASP.NET Core 用于构建如 Web 应用.物联网(IoT)应用和移动后端应用,这些应用 ...

  2. 如何让chrome浏览器自动翻译

    我用的chrome浏览器,最初用的时候浏览器默认自动翻译英文,我感觉很麻烦.所以我选择了一律不翻译.但是我当我想翻译的的时候又不知道怎么操作.一直郁闷到现在.今天我突然发现了一个方法可以让你的浏览器自 ...

  3. iframe内联框

    内联框中表格的下划线老是显示不出来,设置宽度百分比不起作用,调整了文本域的宽度也不行.只能动态调整iframe的高度.

  4. Linux 安装 pycharm

    1.Windows系统下载http://www.jetbrains.com/pycharm/download/#section=linux2.解压到挂载文件夹 mount -t cifs -o use ...

  5. Python初学者第二十三天 函数进阶(2)装饰器

    装饰器: 需求----> 写一个功能,测试其他同事函数的调用效率. 第一版:功能版 import time def func(): time.sleep(0.2) print('非常复杂') d ...

  6. 《CDN 之我见》原理篇——CDN的由来与调度

    CDN是将源站内容分发至全国所有的节点,从而缩短用户查看对象的延迟,提高用户访问网站的响应速度与网站的可用性的技术.它能够有效解决网络带宽小.用户访问量大.网点分布不均等问题. 为了让大家更全面的了解 ...

  7. 对象.isdigit() ,只能判断全是数字的字符串

    s = "55p"" print(s.isdigit()) # False s2 = "5568" print(s2.isdigit()) # Tru ...

  8. scrapy爬虫框架之Xpath选择器

    问题: 本篇博文主要记录scrapy框架爬取伯乐在线文章的相关知识,在实践中学习对框架的理解.今天主要记录了xpath的相关用法以及语法规范. ----->>>点击进入爬取页面 一. ...

  9. 反射工具类.提供调用getter/setter方法, 访问私有变量, 调用私有方法, 获取泛型类型Class,被AOP过的真实类等工具函数.java

    import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.Validate; import org.ap ...

  10. #001 如何组织JS代码

    如何组织JS代码 有没有这样的经历,在编写代码的时候,因为功能简单,写的时候比较随意,所有的JS代码都放在一个文件里面,但是随着功能的增加,发现代码很乱,不好维护. 简单的整理了一下,目前对已有项目的 ...