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

方法一:

主页面

<!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. Canu Quick Start(快速使用Canu)

    Canu Quick Start Canu Quick Start PBcR (老版的canu) CA Canu specializes in(专门从事) assembling PacBio or O ...

  2. 关于OneProxy推广

    通过以下关键字 分库分表,读写分离,连接池,跨库查询,开源数据库,MySQL,高性能,并行查询 在搜索引擎中,都找不到OneProxy和OneSQL的影子

  3. 关于eclipse中maven项目的问题

    问题1: 严重: Error configuring application listener of class org.springframework.web.context.ContextLoad ...

  4. 字符串(string)转json

    第一种方式: 使用js函数eval(); testJson=eval(testJson);是错误的转换方式. 正确的转换方式需要加(): testJson = eval("(" + ...

  5. ubuntu14.04LS中安装sogouPingyin

    简介: 安装了新版本的ubuntu我才发现itbus的拼音是双拼的  没法改变 所以就安装了搜狗拼音 , 好像这个和小企鹅输入法有点关系 首先: 在终端中输入: sudo add-apt-reposi ...

  6. ARM堆栈及特殊指令

    ARM7支持四种堆栈模式:满递减(FD).满递增(FA).空递减(ED).空递增(EA) FD:堆栈地址从上往下递减,且指针指向最后一个入栈元素.FA:堆栈地址从下往上递增,且指针指向最后一个入栈元素 ...

  7. 接入WebSocket

    闲扯 WebSocket 以前没用过,之前写过一篇博客是基于原生socket的(查看)比较复杂,慎入.今天另外一个APP需要接websocket了,然后便找到了facebook的 SocketRock ...

  8. iOS开发之——从零开始完成页面切换形变动画

    前言 某天我接到了UI发给我的两张图: 需求图.png 看到图的时候我一脸懵逼,显然我需要做一个页面切换的指示动画.老实说,从大三暑假开始做iOS开发也一年有余了,但是遇到复杂动画总是唯恐避之不及,只 ...

  9. SELECTION-SCREEN 文本丢失

    最近有点无聊....随便找点东西填了... 自从系统上线,经常出现程序的的文本丢失,然后选择界面就变成英文的了....一直在出现,就是解决不了,不知道到底是哪里的问题 严重怀疑是服务器上文件丢失... ...

  10. 9. shell环境

    • printenv –打印部分或所有的环境变量 • set –设置 shell 选项 • export —导出环境变量,让随后执行的程序知道. • alias –创建命令别名 1.shell环境:s ...