PHP 练习2:投票
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; background-color:red'></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 练习2:投票的更多相关文章
- 运用php做投票题,例题
要求大概是这样的,有一个题目,题目下面是复选框,要求点完复选框提交后会变成进度条,各选项的进度条百分比,和投票数量 首先还是要在数据库建两张表,如下: 要完成这个题目,需要建两个页面 <!DOC ...
- easy_UI 投票列表
首先我们考虑一下在项目投票种用到的属性(ID,投票标题,备选项目,参与人数) entity package cn.entity; public class GridNode { private Lon ...
- 利用django创建一个投票网站(六)
建你的第一个 Django 项目, 第六部分 这一篇从第五部分(zh)结尾的地方继续讲起.再上一节中我们为网络投票程序编写了测试,而现在我们要为它加上样式和图片. 除了服务端生成的 HTML 以外,网 ...
- 利用django创建一个投票网站(五)
创建你的第一个 Django 项目, 第五部分 这一篇从第四部分(en)结尾的地方继续讲起.我们在前几章成功的构建了一个在线投票应用,在这一部分里我们将其创建一些自动化测试. 自动化测试简介 自动化测 ...
- 利用django创建一个投票网站(四)
创建你的第一个 Django 项目, 第四部分 这一篇从第三部分(zh)结尾的地方继续讲起.我们将继续编写投票应用,专注于简单的表单处理并且精简我们的代码. 编写一个简单的表单 让我们更新一下在上一个 ...
- 利用django创建一个投票网站(三)
创建你的第一个 Django 项目, 第三部分 这一篇从第二部分(zh)结尾的地方继续讲起.我们将继续编写投票应用,并且聚焦于如何创建公用界面--也被称为"视图". 设计哲学 Dj ...
- 利用django创建一个投票网站(二)
创建你的第一个 Django 项目, 第二部分 这一篇从第一部分(zh)结尾的地方继续讲起.本节我们将继续写 Web 投票应用,并主要关注 Django 提供的自动生成的管理页面(admin site ...
- 利用django创建一个投票网站(一)
这是教程的原始链接:http://django-intro-zh.readthedocs.io/zh_CN/latest/part1/ 创建你的第一个 Django 项目, 第一部分 来跟着实际项目学 ...
- Django基础,Day5 - form表单投票详解
投票URL polls/urls.py: # ex: /polls/5/vote/ url(r'^(?P<question_id>[0-9]+)/vote/$', views.vote, ...
- PHP类的封装和做投票和用进度条显示
三处理传过来的数据1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:// ...
随机推荐
- [贪心经典算法]Kruskal算法
Kruskal算法的高效实现需要一种称作并查集的结构.我们在这里不介绍并查集,只介绍Kruskal算法的基本思想和证明,实现留在以后讨论. Kruskal算法的过程: (1) 将全部边按照权值由小到大 ...
- Java常用类之StringBuffer
StringBuffer 类: 1. java.lang.StringBuffer 代表可变的字符序列: 2. StringBuffer 和 String 类似,但是 StringBuffer 可以对 ...
- <Effective C++>读书摘要--Implementations<一>
1.For the most part, coming up with appropriate definitions for your classes (and class templates) a ...
- Python2中编码错误---éç»äººè¡¨ç®çé¿å ååè¶(æå格式转化为UTF-8
在python2的使用中,总会遇到各种各样的编码问题,这也是使用Python2最头疼的一件事情,幸好python3解决了编码的问题. 下面我在爬虫时遇到的类似éç»äººè¡¨ç®çé¿ ...
- H3C SNMP配置解析
华为交换机snmp配置 snmp-agent /使能snmp服务/snmp-agent local-engineid ...
- Ubuntu编译内核树
什么是内核树?刚开始我也没弄明白,通过这几天的学习,有所感悟,就说说我的理解吧!从形式上看,内核树与内核源码的目录结构形式是相同的,都是由各个层次的文件目录结构组成,但是其中的具体内容肯定是不同的.从 ...
- 第17天:CSS引入、选择器优先级(中级)
一.CSS 位置 1.行内式 css <div class="fr" style="color:red;">aa</div> 2. 内 ...
- 【codevs3160】最长公共子串 后缀数组
题目描述 给出两个由小写字母组成的字符串,求它们的最长公共子串的长度. 输入 读入两个字符串 输出 输出最长公共子串的长度 样例输入 yeshowmuchiloveyoumydearmotherrea ...
- Codeforces ZeptoLab Code Rush 2015 D.Om Nom and Necklace(kmp)
题目描述: 有一天,欧姆诺姆发现了一串长度为n的宝石串,上面有五颜六色的宝石.他决定摘取前面若干个宝石来做成一个漂亮的项链. 他对漂亮的项链是这样定义的,现在有一条项链S,当S=A+B+A+B+A+. ...
- [luogu2783] 有机化学之神偶尔会做作弊
题目链接 洛谷. Solution 边双缩点然后\(lca\)跑\(dis\)就好了. 注意这里是边双,不知道为啥所有题解都说的是点双. 边双是定义在点上的,即每个点只属于一个边双:点双是定义在边上的 ...