一、题目要求:建立如下两个数据库,实现投票和%的统计结果:

二、具体编写方法:

(1)、建立数据库:

里面的蓝色背景的表格名称就是我们所需的表格!

表格内容如下:

表名:diaoyantimu

表名:diaoyanxuanxiang

(2)、封装类文件:

<?php
class DBDA
{
public $fuwuqi="localhost";
public $yonghuming="root";
public $mima="root"; public $dbconnect; function Query($sql,$type=1,$shujukuming="test")
{ $this->dbconnect = new MySQLi($this->fuwuqi,$this->yonghuming,$this->mima,$shujukuming); if(!mysqli_connect_error())
{ $result = $this->dbconnect->query($sql); if($type==1)
{ return $result->fetch_all();
}
else
{ return $result;
} }
else
{
return"连接失败"; } } } ?>

(3)、投票页面(shouye.php):

<!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">
.x
{
float:left;
}
#top
{
width:500px;
height:200px;
}
#bottom
{
width:500px;
height:200px;
display:none;
}
#fanhui
{
display:none;
}
</style> </head>
<body>
<form action="chuli.php" method="post">
<?php
include("DBDA.class.php");
$db=new DBDA;
$stm="select * from diaoyantimu limit 0,1";
$atm = $db->Query($stm); echo "<div>题目名称:{$atm[0][1]}</div>";
$sxx="select * from diaoyanxuanxiang where timudaihao='{$atm[0][0]}'";
$axx=$db->Query($sxx); echo "<div id='top'>"; foreach($axx as $v)
{
echo "<div><input type='checkbox' value='{$v[0]}' name='xx[]'/>{$v[1]}</div>";
} echo "</div>"; ?> <div id="bottom">
<?php $sum="select sum(Numbers) from diaoyanxuanxiang where timudaihao='{$atm[0][0]}'";
$asum=$db->Query($sum);
$total=$asum[0][0]; foreach($axx as $v)
{
$bfb=($v[2]/$total)*100; echo "<div><span class='x'>{$v[1]}</span> <div class='x' style='border:1px solid blue;width:120px; height:12px'> <div style='background-color:red;height:12px;width:{$bfb}%'></div> </div> <span class='x'>&nbsp;{$v[2]}&nbsp;</span>
<span class='x'>{$bfb}%</span>
</div>
<div style='clear:both'></div>";
}
?> </div> <div id="anniu">
<input type="submit" value="提交"/>
<input type="button" value="查看" onclick="ShowResult()"/>
</div>
<div id="fanhui"><input type="button" value="返回" onclick="Show()" /></div> </form> </body> <script type="text/javascript">
function ShowResult()
{
document.getElementById("top").style.display="none";
document.getElementById("bottom").style.display="block";
document.getElementById("fanhui").style.display="block";
document.getElementById("anniu").style.display="none";
}
function Show()
{
document.getElementById("top").style.display="block";
document.getElementById("bottom").style.display="none";
document.getElementById("fanhui").style.display="none";
document.getElementById("anniu").style.display="block";
} </script> </html>

(4)、投票处理页面(chuli.php):

<?php
$ids = $_POST["xx"];
include("DBDA.class.php");
$db = new DBDA(); foreach($ids as $v)
{
$sql = "update diaoyanxuanxiang set Numbers = Numbers+1 where Ids='{$v}'";
$db->Query($sql,0);
} header("location:shouye.php");

显示结果如下:

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. MySQL性能分析及explain的使用说明

    1.使用explain语句去查看分析结果 如explain select * from test1 where id=1;会出现:id selecttype table type possible_k ...

  2. css--position和float

    1.元素设置position:relative或者position:absolute后,才能激活left,top,right,bottom和z-index属性,默认情况下这些属性并未激活,设置了也会无 ...

  3. java域名解析

    DNS原理:http://amon.org/dns-introduction.html 根域:就是所谓的“.” 根域服务器只是具有13个IP地址,但机器数量却不是13台,因为这些IP地址借助了任播的技 ...

  4. jfreechart图表汉字乱码问题解决方案

    系统工作迁移环境 linux centos 6.5 tomcat8 mysql5.6 系统部署上之后,所有的jfreechart图表上的汉字,全部乱码. 如图: 经分析: 1)数据库动态读出来的是正常 ...

  5. HTML5学习笔记 二:article和section

    在HTML5中,article可以看做特殊种类的section,它比section更强调独立性. section元素强调分段或分块,而article强调独立性: 如果一块内容相对独立.完整,应该使用a ...

  6. 字符集UTF-8MB4 MySQL utf8mb4 字符集,用于存储emoji表情

    字符集UTF-8MB4 utf8mb4兼容utf8,且比utf8能表示更多的字符.看unicode编码区从1 - 126就属于传统utf8区,当然utf8mb4也兼容这个区,126行以下就是utf8m ...

  7. 负载均衡 Lvs DR 模式笔记

    先来一张原理图,相当于ip-tun模式把tunl0的那块网卡配置在eth0:0的这个接口上,避免了兼容性的问题

  8. 用fluent模拟内循环床气化燃烧(调试过程记录)

    模拟对象为文献Combined gasification of coal and biomass in internal circulating fluidized bed[1]中的内循环气化炉.[1]h ...

  9. --@angularJS--路由插件UI-Router

    UI-Router是angular路由插件,上一篇我们讲到了angularJS自带路由,可惜在路径嵌套上表现的有所欠缺,而angular-UI-Router插件正好弥补了这一点. [示例]: □.UI ...

  10. apache 运行php环境之困扰,无法加载多个不同的.html文件

    又是一个项目,为多个纯静态html页面h5游戏页,原本是一个简单得不能的项目,但是却多生了事端. 我按照apache的惯例,将文件上传到服务器的DocumentRoot目录,进行测试了. 刚开始使用目 ...