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

方法一:

主页面

<!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. python进阶

    决定在python上有所突破 先看看知乎: 如何面试Python后端工程师? Python之美 - 知乎专栏 Python书籍推荐

  2. 显示回收站.reg

    显示回收站.reg Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsoft\Windows\Current ...

  3. 韩系高端PK:whoo后VS雪花秀(转载)

    产品广告代言人是李英爱(韩剧“大长今”的扮演者)产品设计也是贵妇风格.------------//就是大长今的女主角用过的牌子  LG旗下的WHOO后 WHOO后洁面霜:这是我非常喜欢的洁面霜,淡黄色 ...

  4. Eclipse小技巧

      Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ ...

  5. 用ildasm/ilasm修改IL代码

    原文地址:http://www.cnblogs.com/dudu/archive/2011/05/17/ildasm_ilasm_il.html 在开发中遇到这样一个场景,需要修改一个dll文件(.N ...

  6. Win7下Maven的安装与配置

    简介  官网:https://maven.apache.org/ Apache Maven,是一个(特别是Java软件)项目管理及自动构建工具,由Apache软件基金会所提供.基于项目对象模型(Pro ...

  7. Qt之Concurrent框架

    简述 QtConcurrent命名空间提供了一个高级API来编写多线程程序,而无需使用低级线程原语,例如:互斥.读写锁.等待条件或信号量.使用QtConcurrent编写的程序使用的线程数量会自动根据 ...

  8. 你不知道的JavaScript--大白话讲解Promise

    转载:http://blog.csdn.net/i10630226/article/details/50867792 一.Promise小试 复杂的概念先不讲,我们先简单粗暴地把Promise用一下, ...

  9. jquery mobile 请求数据方法执行时显示加载中提示框

    在jquery mobile开发中,经常需要调用ajax方法,异步获取数据,如果异步获取数据方法由于网速等等的原因,会有一个反应时间,如果能在点击按钮后数据处理期间,给一个正在加载的提示,客户体验会更 ...

  10. struts2视频学习笔记 09-10(struts2处理流程,指定多个struts配置文件)

    课时9 Struts2的处理流程 StrutsPrepareAndExecuteFilter是Struts 2框架的核心控制器,它负责拦截由<url-pattern>/*</url- ...