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:// ...
随机推荐
- vi/sed等遵循的搜索正则语法
转自:http://blog.csdn.net/lanxinju/article/details/5731843 一.查找 查找命令 /pattern<Enter> :向下查找patter ...
- 第四部分shell编程5项目二分发系统
第一部分:expect讲解expect可以让我们实现自动登录远程机器,并且可以实现自动远程执行命令.当然若是使用不带密码的密钥验证同样可以实现自动登录和自动远程执行命令.但当不能使用密钥验证的时候,我 ...
- QT分析之QApplication的初始化
原文地址:http://blog.163.com/net_worm/blog/static/1277024192010097430321/ 在开始分析之前交代一下,一是分析的QT在Window平台实现 ...
- 每天网络半小时(MAC数据包在哪里合并的)
ip_deliver_local函数中函数中完成合并 听过netfilter框架中也会 因为net_filter框架需要感知到第四层的信息,但是单个数据包是无法感知到这些信息的,所以需要在netfil ...
- Oracle 11g 体系结构--数据字典
DD:存放数据库内部信息的地方,用于描述数据库内部的运行和管理情况. Oracle数据字典的名称由前缀和后缀组成,使用_连接,含义说明如下: dba_:包含数据库实例的所有对象信息 v$_:当前实例的 ...
- mysql向上递归&向下递归
工作记录 向上递归函数test: BEGIN ); ); SET sTemp = '$'; SET sTempChd =cast(rid as CHAR); WHILE sTempChd is not ...
- 钉钉 E应用 打开分享外链
钉钉 E应用 打开分享外链 外部链接 https://open-doc.dingtalk.com/microapp/dev https://open-doc.dingtalk.com/microapp ...
- overflow:scroll 在ios 滚动卡顿
使用 -webkit-overflow-scrolling 属性控制元素在移动设备上是否使用滚动回弹效果. 值 auto 使用普通滚动, 当手指从触摸屏上移开,滚动会立即停止. touch 使用具有回 ...
- Atom Editor 插件 atom-less 的使用方法
一.下载安装 atom-less atom-less 项目在这里:https://github.com/schmuli/atom-less 安装方法请参考这篇博文:http://blog.csdn.n ...
- Select-poll-epoll-简介
1. Python的select()方法直接调用操作系统的IO接口,它监控sockets,open files, and pipes(所有带fileno()方法的文件句柄)何时变成readable 和 ...