通过连接数据库,对数据库的增删改来实现一个投票的进行与结果的显示:

方法一:

主页面

<!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">
*{
margin:0px auto;
padding:0px;
}
.title
{
height:50px;
margin:20px 0px 0px 20px;
}
.list
{
width:300px;
height:200px;
margin-left:20px;
}
.xx
{
width:300px;
height:30px;
}
.jieguo
{
width:300px;
height:200px;
margin-left:20px;
}
.xxnr
{
width:300px;
height:30px;
}
</style>
</head> <body>
<form action="ChuLi.php" method="post"> <?php
include("DBDA.php");
$db = new DBDA(); $sql = "select * from DiaoYanTiMu"; $result = $db->Query($sql); //题目标题
echo "<div class='title'>{$result[0][1]}</div>"; $code = $result[0][0]; $sqlx = "select * from DiaoYanXuanXiang where TiMuDaiHao = {$code}";
$resultx = $db->Query($sqlx); $xian = "";
if(@$_GET["bs"]==1)
{
$xian = "display:none";
}
else
{
$xian="display:block";
} //题目选项的DIV
echo "<div class='list' style='{$xian}'>"; for($i=0;$i<count($resultx);$i++)
{
echo "<div class='xx'>";
echo "<input type='checkbox' value='{$resultx[$i][0]}' name='opt[]' />";
echo "<span>{$resultx[$i][1]}</span>";
echo "</div>";
} echo "</div>"; //下面是投票结果的DIV
$xianshi = "";
if(@$_GET["bs"]==1)
{
$xianshi = "display:block";
}
else
{
$xianshi="display:none";
}
echo "<div class='jieguo' style='{$xianshi}'>"; //求总人数
$sqlcount = "select sum(Numbers) from DiaoYanXuanXiang";
$attrcount = $db->Query($sqlcount); for($j=0;$j<count($resultx);$j++)
{
$rs = $resultx[$j][2];
if($attrcount[0][0]==0)
{
$bfb = 0;
}
else
{
$bfb = ($rs/$attrcount[0][0])*100;
} echo "<div class='xxnr'>"; echo "<span style='float:left'>{$resultx[$j][1]}</span>";
echo "<div style='float:left;margin:10px 0px 0px 10px;width:100px; height:4px; border:1px solid #000'>
<div style='width:{$bfb}%; height:4px;margin-left:0px; background-color:#666'></div>
</div>";
echo "<span style='float:left; margin-left:10px'>{$resultx[$j][2]}</span>"; echo "</div>";
} echo "</div>"; ?> <div style="margin-left:20px; width:200px">
<input id="tj" type="submit" style="float:left;<?php echo $xian; ?>;margin:0px 0px 0px 10px" value="提交" />
<input id="fh" type="button" style="float:left;<?php echo $xianshi;?>;margin:0px 0px 0px 10px" onclick="ShowTP()" value="返回" />
<input type="button" style="float:left;display:block;margin:0px 0px 0px 10px" onclick="ShowJieGuo()" value="显示结果" />
</div>
</form>
</body> <script type="text/javascript">
function ShowJieGuo()
{
var list = document.getElementsByClassName("list");
var jieguo = document.getElementsByClassName("jieguo");
var tj = document.getElementById("tj");
var fh = document.getElementById("fh"); fh.style.display="block";
tj.style.display="none";
list[0].style.display="none";
jieguo[0].style.display ="block";
}
function ShowTP()
{
var list = document.getElementsByClassName("list");
var jieguo = document.getElementsByClassName("jieguo");
var tj = document.getElementById("tj");
var fh = document.getElementById("fh"); fh.style.display="none";
tj.style.display="block";
list[0].style.display="block";
jieguo[0].style.display ="none";
}
</script>
</html>

处理页面,接收投得的票数 并作出处理

<?php

include("DBDA.php");
$db = new DBDA(); $attr = $_POST["opt"]; for($i=0;$i<count($attr);$i++)
{
$sql = "update DiaoYanXuanXiang set Numbers = Numbers+1 where Ids = {$attr[$i]}"; $db->Query($sql,0);
} header("location:Test.php?bs=1");

建立访问数据库的类,封装用于引用

<?php

class DBDA
{
public $host = "localhost"; //服务器地址
public $uid = "root"; //数据库的用户名
public $pwd = "123"; //数据库的密码 //执行SQL语句,返回相应结果的函数
//$sql是要执行的SQL语句
//$type是SQL语句的类型,0代表增删改,1代表查询
//$db代表要操作的数据库
public function Query($sql,$type=1,$db="mydb")
{
//造连接对象
$conn = new MySQLi($this->host,$this->uid,$this->pwd,$db); //判断连接是否成功
!mysqli_connect_error() or die("连接失败!"); //执行SQL语句
$result = $conn->query($sql); //判断SQL语句类型
if($type==1)
{
//如果是查询语句返回结果集的二维数组
return $result->fetch_all();
}
else
{
//如果是其他语句,返回true或false
return $result;
}
} }

方法二:

php练习题:投票的更多相关文章

  1. Redis 实战 —— 02. Redis 简单实践 - 文章投票

    需求 功能: P15 发布文章 获取文章 文章分组 投支持票 数值及限制条件 P15 如果一篇文章获得了至少 200 张支持票,那么这篇文章就是一篇有趣的文章 如果这个网站每天有 50 篇有趣的文章, ...

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

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

  3. Linux基础练习题(二)

    Linux基础练习题(二) 1.复制/etc/skel目录为/home/tuer1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限. [root@www ~]# cp -r ...

  4. shell 脚本之 shell 练习题汇总

    整理了一些 shell 相关的练习题,记录到这里. 1. 请按照这样的日期格式 xxxx-xx-xx 每日生成一个文件,例如:今天生成的文件为 2013-09-23.log, 并且把磁盘的使用情况写到 ...

  5. easy_UI 投票列表

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

  6. MySQL练习题

    MySQL练习题 一.表关系 请创建如下表,并创建相关约束 二.操作表 1.自行创建测试数据 2.查询“生物”课程比“物理”课程成绩高的所有学生的学号: 3.查询平均成绩大于60分的同学的学号和平均成 ...

  7. MySQL练习题参考答案

    MySQL练习题参考答案 2.查询“生物”课程比“物理”课程成绩高的所有学生的学号: 思路: 获取所有有生物课程的人(学号,成绩) - 临时表 获取所有有物理课程的人(学号,成绩) - 临时表 根据[ ...

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

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

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

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

随机推荐

  1. 能在CAD2004以下版本里面打开2007以上版本文件的外挂

    下载地址:http://yunpan.cn/cjrxMKNubXQ5E  访问密码 1974 老何CAD工具安装办法:[推荐]先安装老何工具箱,然后用[扩展添加老何cad下拉菜单.bat]就完成老何下 ...

  2. 栅栏 CyclicBarrier

    java.util.concurrent.CyclicBarrier 类是一种同步机制,它能够对处理一些算法的线程实现同步.换句话讲,它就是一个所有线程必须等待的一个栅栏,直到所有线程都到达这里,然后 ...

  3. python与unicode

    Unicode是一种在计算机上使用的字符编码,是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言.跨平台进行文本转换.处理的要求. Uni ...

  4. 理解模数转换器的噪声、ENOB和有效分辨率

    ADC的主要趋势之一是分辨率越来越高.这一趋势影响各种应用,包括工厂自动化.温度检测和数据采集.对更高分辨率的需求正促使设计者从传统的12位逐次逼近寄存器(SAR)ADC转至分辨率高达24位的Δ-ΣA ...

  5. Unique Paths II [LeetCode]

    Follow up for "Unique Paths": Now consider if some obstacles are added to the grids. How m ...

  6. 转:Struts2<s:iterator value="" var="lst">中var的使用和一些标签的使用体会

    比如<s:iterator value="pmOperateList" var="lst"> <!-- iterator加上var 等价于重新 ...

  7. struts过滤器和拦截器的区别

    拦截器的工作原理:当接收到一个httprequest ,a) 当外部的httpservletrequest到来时 b) 初始到了servlet容器 传递给一个标准的过滤器链 c) FilterDisp ...

  8. Jenkins简单使用介绍

    一.Jenkins的配置 1. 下载地址: Jenkins的官方网站:http://jenkins-ci.org/ 目前最新版本的Windows版:http://mirror.xmission.com ...

  9. Android中 在显示ImageView时图片上面和下面都出现一段空白区间的解决办法

    开始的时候是在ScrollView中显示ImageView的时候出现这样的问题,以为是要对ScrollView进行设置的,后来发现单独显示一个ImageView的时候也会出现这样的问题,由此才知道是应 ...

  10. 函数调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。

    在dllimport中加入CallingConvention参数就行了,[DllImport(PCAP_DLL, CharSet = CharSet.Auto, CallingConvention = ...