php练习题:投票

时间:2022-08-23 00:09:46

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

方法一:

主页面

<!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&period; Redis 简单实践 - 文章投票

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

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

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

  3. Linux基础练习题&lpar;二&rpar;

    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&lowbar;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. 转载&colon;《&period;NET 编程结构》专题汇总(C&num;)

    <.NET 编程结构>专题汇总(C#) - M守护神 - 博客园http://www.cnblogs.com/liusuqi/p/3213597.html 前言     掌握一门技术,首要 ...

  2. html5 语义

    页面示意图

  3. Python Selenium &plus; phantomJS 模拟登陆教务管理系统 &OpenCurlyDoubleQuote;抢课”

    # _*_coding:utf-8_*_ from selenium import webdriver from selenium.webdriver.common.action_chains imp ...

  4. How Many Processes Should Be Set For The Receiving Transaction Manager &lpar;RTM&rpar;

    In this Document   Goal   Solution   References APPLIES TO: Oracle Inventory Management - Version 10 ...

  5. 熊猫猪新系统测试之四&colon;Ubuntu 14&period;04

    目前猫猪在办公室一般用的就是乌班图系统,一方面原因是老本本性能跑不起来Windows,更重要的是本猫觉得Linux系统更开放些.况且现在用的也比较熟了,完全可以脱离Windows鸟!这一系列4篇新系统 ...

  6. 练习markdown语法

    这是一级标题 这是二级标题 这是三级标题 -列表试验 -据说这样无编号 编号文档 编号文档 编号文档 插入链接测试 插入图片测试 引用测试> 一蓑烟雨任平生 粗体测试我是加粗的 斜体测试我是斜体 ...

  7. OpenResty 最佳实践 lua与nginx的结合 --引用自https&colon;&sol;&sol;moonbingbing&period;gitbooks&period;io&sol;openresty-best-practices&sol;content&sol;

    系统的说明了lua在nginx上的开发 请大家到源址查看 OpenResty最佳实践

  8. RAID与其在Linux上的实现

    参考资料: RAID data striping spanned volume 从raid0到raid7,raid阵列各级别介绍 本文所使用的图片来源于互联网,若有侵权,烦请联系,谢谢. 简介 RAI ...

  9. WinSockets编程(六)select模式

    select模式的思想 创建FD_SET fd_all,并初始化FD_ZERO(&fd_all); Step1  初始时: Step2   加入一个套接字之后,比如FD_SET(sServer ...

  10. Android 从上层到底层-----jni层

    CPU:RK3288 系统:Android 5.1 功能:上层 app 控制 led 亮灭 开发板:Firefly RK3288 led_jni.h path:hardware/rockchip/fi ...