php 之 查询 投票练习(0508)

练习题目:

解题:

方法一:

1. 投票主页面:

<!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>
#list
{
	width:400px;
	height:300px;}
#jieguo
{
	width:400px;
	height:300px;}
.x
{

	float:left;}

</style>
</head>

<body>

<form action="TouChuLi.php" method="post">
<?php
include ("DBDA.class.php");
$db=new DBDA();
//从调研题目表中找出题目代号和名称
$sql="select * from diaoyantimu limit 0,1";
$arr=$db->query($sql);
$tmmc=$arr[0][1];
$tmdh=$arr[0][0];
echo "<div><h2>{$tmmc}:</h2></div>";
//从调研选项表中输出选项内容:
$sqlxx="select * from diaoyanxuanxiang where timudaihao=‘{$tmdh}‘";
$arrxx=$db->query($sqlxx);
echo "<div id=‘list‘>";
foreach ($arrxx as $v)
{
	echo "<div><input type=‘checkbox‘ value=‘{$v[0]}‘ name=‘xx[]‘>{$v[1]}</div><br />";
}

?>
<input type="submit" value="提交">
<input type="button" value="查看结果" id="check" onclick="Showjieguo()">
</form>
</div>

<div id="jieguo" style="display:none">
<?php
//计算总人数:
$sqlzs="select sum(numbers) from diaoyanxuanxiang where timudaihao=‘{$tmdh}‘";
$zrs=$db->query($sqlzs);

foreach ($arrxx as $v)
{

	$name=$v[1];
	$number=$v[2];
	if($zrs[0][0]==0)
     {
         $bfb = 0;
     }
     else
     {
          $bfb = ($number/$zrs[0][0])*100;
     }
	$bfb=round($bfb,2);
	echo "<div>
		<span class=‘x‘>{$name} </span>
		<div  class=‘x‘ style=‘width:200px; height:10px; background-color:#808080‘>
		<div style=‘width:{$bfb}%; height:10px; background-color:#FF8040‘> </div>
		</div>
		<span class=‘x‘>{$number} </span>
		<span class=‘x‘>{$bfb}% </span>
		</div>
		<br />
		";
}
?>
<input type="button" value="返回" id="fanhui" onclick="Showfanhui()">
</div>
<script>
function Showjieguo()
{
	document.getElementById("list").style.display="none";
	document.getElementById("jieguo").style.display="block";
	}
function Showfanhui()
{
	document.getElementById("list").style.display="block";
	document.getElementById("jieguo").style.display="none";
	}
</script>

</body>
</html>

 2.处理投票页面:

<?php
$arr=$_POST["xx"];
include ("../DBDA.class.php");
$db=new DBDA();

foreach($arr as $v)
{
	$sql = "update diaoyanxuanxiang set numbers = numbers+1 where ids = ‘{$v}‘";
	$db->Query($sql,1);//1代表$sql的类型
}
header ("location:TouPiao.php");
?>

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

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

	}

  方法二:

1. 投票主页面:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>投票</title>
<style>
.x
{

	float:left;}

</style>
</head>

<body>

<form action="TouChuLi.php" method="post">
<?php
include ("../DBDA.class.php");
$db=new DBDA();
//从调研题目表中找出题目代号和名称
$sql="select * from diaoyantimu limit 0,1";
$arr=$db->query($sql);
$tmmc=$arr[0][1];
$tmdh=$arr[0][0];
echo "<div><h2>{$tmmc}:</h2></div>";
//从调研选项表中输出选项内容:
$sqlxx="select * from diaoyanxuanxiang where timudaihao=‘{$tmdh}‘";
$arrxx=$db->query($sqlxx);
echo "<div id=‘list‘>";
foreach ($arrxx as $v)
{
	echo "<div><input type=‘checkbox‘ value=‘{$v[0]}‘ name=‘xx[]‘>{$v[1]}</div><br />";
}

?>
<input type="submit" value="提交">
<a href="ChaKan.php"><input type="button" value="查看结果" id="check" ></a>
</form>
</body>
</html>

 2. 处理投票页面:

<?php
$arr=$_POST["xx"];
include ("../DBDA.class.php");
$db=new DBDA();

foreach($arr as $v)
{
	$sql = "update diaoyanxuanxiang set numbers = numbers+1 where ids = ‘{$v}‘";
	$db->Query($sql,1);//1代表$sql的类型
}
header ("location:TouPiao.php");
?>

  3. 查看投票结果页面:

<!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>
.x
{
	float:left;}
</style>
</head>
<body>

<?php
include ("../DBDA.class.php");
$db=new DBDA();
//从调研题目表中找出题目代号和名称
$sql="select * from diaoyantimu limit 0,1";
$arr=$db->query($sql);
$tmmc=$arr[0][1];
echo "<div><h2>{$tmmc}:</h2></div>";
//从调研选项表中输出选项内容:
$sqlxx="select * from diaoyanxuanxiang where timudaihao=‘{$arr[0][0]}‘";
$arrxx=$db->query($sqlxx);

//计算总人数:
$sqlzs="select sum(numbers) from diaoyanxuanxiang where timudaihao=‘{$arr[0][0]}‘";
$zrs=$db->query($sqlzs);

foreach ($arrxx as $v)
{
	 $name=$v[1];//调研项目名称
	 $number=$v[2];//选择该项的人数
	 //判断总人数是否为0
	 if($zrs[0][0]==0)
     {
         $bfb = 0;
     }
     else
     {
          $bfb = ($number/$zrs[0][0])*100;//求百分比
     }

	$bfb=round($bfb,2);	//取小数点后两位
	echo "<div>
	<span class=‘x‘>{$name} </span>
	<div  class=‘x‘ style=‘width:200px; height:10px; background-color:#808080‘>
	<div style=‘width:{$bfb}%; height:10px; background-color:#FF8040‘> </div>
	</div>
	<span class=‘x‘>{$number}  </span>
	<span class=‘x‘>{$bfb}%</span><br />
	</div><br />";
}
?>
<br />
<a href="TouPiao.php"><input type="button" value="返回"></a>
</body>
</html>

  

网页显示结果:

 

时间: 2024-10-12 02:06:28

php 之 查询 投票练习(0508)的相关文章

php 之 查询 投票练习0508

%E4%BD%BF%E7%94%A8LIBSVM%E5%B7%A5%E5%85%B7%E5%AE%9E%E7%8E%B0%E6%A0%B7%E6%9C%AC%E5%88%86%E7%B1%BB%E9%A2%84%E6%B5%8B%E2%80%94%E2%80%94MatLab ????zSbys0yQ??s?????? http://auto.315che.com/binzhi/qa23658658.htm http://auto.315che.com/xinlefeng/qa23936610-

投票系统

项目作用: 对热门的数据进行数据统计,并以直观的方式呈现出分析后的数据情况. 项目框架: JSP+JavaBean+Struts2+Oracle 项目实现功能: 前台功能 查询投票频道 查询投票项目 查询投票选项 后台功能 添加投票频道 删除投票频道 查看投票频道 修改投票频道 添加投票项目 删除投票项目 修改投票项目 查询投票项目 添加投票选项 删除投票选项 修改投票选项 查看投票选项 项目难点

基于轮询实现实时的在线投票系统

需求 用户在投票的页面可以实时的监测到,投票详情 在这里我会通过轮询和长轮询(推荐使用这个,可以减少请求数,实时性也好)的方法来实现 基于轮询实现投票系统 大致的思路是前端开启一个定时器每隔10秒定时的向服务器获取投票的结果 from flask import Flask,render_template,request,jsonify app = Flask(__name__) USERS = { '1':{'name':'贝贝','count':1}, '2':{'name':'小东北','c

phpcms前台任意代码执行漏洞(php&lt;5.3)

phpcms v9 中 string2array()函数使用了eval函数,在多个地方可能造成代码执行漏洞 /phpsso_server/phpcms/libs/functions/global.func.php /** * 将字符串转换为数组 * * @param string $data 字符串 * @return array 返回数组格式,如果,data为空,则返回空数组 */ function string2array($data) { if($data == '''') return

is 和 == 的区别

一.is 和 == 的区别 == 比较 比较的俩边的值 is 比较 比较的是内存地址 id() 二.小数据池 数字小数据池的范围 -5 ~ 256 字符串中如果有特殊字符他们的内存地址就不一样 字符串中单个*20以内他们的内存地址一样,单个*21以上内存地址不一致 三.编码和解码 ascii 码: 不支持 中文 支持 英文 数字 符号 8位 一个字节 gbk码 国标: 支持 中文,英文,数字,符号 英文 16位 二个字节 中文 16位 二个字节 unicode 万国码 支持 中文,英文,数字,符

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"> <

.net嵌入c#代码(投票练习)

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server&quo

MongoDB学习笔记六—查询下

查询内嵌文档 数据准备 > db.blog.find().pretty() { "_id" : ObjectId("585694e4c5b0525a48a441b5"), "content" : "...", "comments" : [ { "comment" : "good post", "author" : "jim"

Django + mysql 快速搭建简单web投票系统

了解学习pyhton web的简单demo 1. 安装Django, 安装pyhton 自行百度 2. 执行命令创建project  django-admin.py startproject mysite 3. 执行命令创建app python manage.py startapp polls 目录结构:   polls/templates/polls 目录  和  polls/admin.py 都是自己手动创建的. 4. 编辑setting.py 添加app  polls  同时打开admin