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">
*{
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练习题:投票的更多相关文章
- Redis 实战 —— 02. Redis 简单实践 - 文章投票
需求 功能: P15 发布文章 获取文章 文章分组 投支持票 数值及限制条件 P15 如果一篇文章获得了至少 200 张支持票,那么这篇文章就是一篇有趣的文章 如果这个网站每天有 50 篇有趣的文章, ...
- 运用php做投票题,例题
要求大概是这样的,有一个题目,题目下面是复选框,要求点完复选框提交后会变成进度条,各选项的进度条百分比,和投票数量 首先还是要在数据库建两张表,如下: 要完成这个题目,需要建两个页面 <!DOC ...
- Linux基础练习题(二)
Linux基础练习题(二) 1.复制/etc/skel目录为/home/tuer1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限. [root@www ~]# cp -r ...
- shell 脚本之 shell 练习题汇总
整理了一些 shell 相关的练习题,记录到这里. 1. 请按照这样的日期格式 xxxx-xx-xx 每日生成一个文件,例如:今天生成的文件为 2013-09-23.log, 并且把磁盘的使用情况写到 ...
- easy_UI 投票列表
首先我们考虑一下在项目投票种用到的属性(ID,投票标题,备选项目,参与人数) entity package cn.entity; public class GridNode { private Lon ...
- MySQL练习题
MySQL练习题 一.表关系 请创建如下表,并创建相关约束 二.操作表 1.自行创建测试数据 2.查询“生物”课程比“物理”课程成绩高的所有学生的学号: 3.查询平均成绩大于60分的同学的学号和平均成 ...
- MySQL练习题参考答案
MySQL练习题参考答案 2.查询“生物”课程比“物理”课程成绩高的所有学生的学号: 思路: 获取所有有生物课程的人(学号,成绩) - 临时表 获取所有有物理课程的人(学号,成绩) - 临时表 根据[ ...
- 利用django创建一个投票网站(六)
建你的第一个 Django 项目, 第六部分 这一篇从第五部分(zh)结尾的地方继续讲起.再上一节中我们为网络投票程序编写了测试,而现在我们要为它加上样式和图片. 除了服务端生成的 HTML 以外,网 ...
- 利用django创建一个投票网站(五)
创建你的第一个 Django 项目, 第五部分 这一篇从第四部分(en)结尾的地方继续讲起.我们在前几章成功的构建了一个在线投票应用,在这一部分里我们将其创建一些自动化测试. 自动化测试简介 自动化测 ...
随机推荐
- entity reference在views中的运用
一个views block可以获取从url过来的nid,某个node的有entity reference字段, 填入一点数据,然后在views里关联一下这个entity reference field ...
- PacBio下机数据解读
今天被人问起如何看懂三代的下机数据,虽然解决了别人的问题,但感觉自己还是没有搞透. 基本的目录结构: |-- HG002new_O1l_BP_P6_021315b_MB_100pM | |-- D01 ...
- dom4j解析xml作为测试数据
构造函数: public AppTestData(File xmlFile) throws Exception { file = xmlFile; try { saxReader = new SAXR ...
- EL表达式 (详解)(转)
EL表达式 1.EL简介 1)语法结构 ${expression} 2)[]与.运算符 EL 提供.和[]两种运算符来存取数据. 当要存取的属性名称中包含一 ...
- Unity5.3官方VR教程-系列1
如果你不是VR游戏或应用的开发者,可以选择无视下面的内容,这不是给普通用户看的~ 如果你之前曾经为Oculus Rift DK2或者Gear VR开发过,那么心里面一定曾经有千万个草泥马来回奔跑过.虽 ...
- 微软Azure云平台Hbase 的使用
In this article What is HBase? Prerequisites Provision HBase clusters using Azure Management portal ...
- Binary Tree Level Order Traversal II [LeetCode]
Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from left ...
- 开源牛人 zcbenz
事情是这样的,微软推出了Visual Studio Code,我很好奇他怎么做跨平台的,所以就找找资料,在他的网站中是这么描述的: Architecturally, Visual Studio Cod ...
- 30 个很棒的 PHP 开源 CMS 内容管理系统
本文汇集了30个优秀的开源CMS建站系统,采用PHP开发.以下列表不分先后顺序. 1. AdaptCMS AdaptCMS Lite 是一个开源的CMS系统,主要特点是易用,而且可以轻松和其他系统接驳 ...
- Objective-C:Foundation框架-常用类-NSNull
集合中是不能存储nil值的,因为nil在集合中有特殊含义,但有时确实需要存储一个表示“什么都没有”的值,那么可以使用NSNull,它也是NSObject的一个子类. #import <Found ...