php查询操作实现投票功能_php技巧

本文实例为大家分享了php查询操作实现投票功能的代码,供大家参考,具体内容如下

题目:

解题方法汇总:

方法一:
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>
<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. 查看投票结果页面:

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

显示结果:

以上就是本文的全部内容,希望对大家学习php程序设计有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php
, 查询
投票
操作记录日志功能实现、投票系统的设计与实现、电脑版微信刷投票技巧、微信投票技巧、投票技巧,以便于您获取更多的相关知识。

时间: 2024-09-11 00:00:50

php查询操作实现投票功能_php技巧的相关文章

PHP+MySql+jQuery实现的&quot;顶&quot;和&quot;踩&quot;投票功能_php技巧

本文实例为大家分享了基于PHP+jQuery+MySql实现红蓝(顶踩)投票代码,供大家参考,具体内容如下 数据库操作: CREATE TABLE IF NOT EXISTS `votes` ( `id` int(10) NOT NULL AUTO_INCREMENT, `likes` int(10) NOT NULL DEFAULT '0', `unlikes` int(10) NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=MyISAM D

php基于双向循环队列实现历史记录的前进后退等功能_php技巧

本文实例讲述了php基于双向循环队列实现历史记录的前进后退等功能.分享给大家供大家参考.具体如下: 为实现一个记录操作历史的功能 1. 和撤销,反撤销功能类似的一个功能.(实现操作的前进后退) 2. 和discuz论坛登录后查看帖子(可以前进后退查看过的帖子,还有帖子查看历史记录) 3. 逻辑和windows资源管理器地址栏前进后退功能一样. 根据这种需要,实现了一个数据结构.写了一个通用的类,暂叫历史记录类吧. [原理和时钟类似.实例化对象时可以构造长度为N(可以根据需要定长度)个节点的环]

PHP入门教程之使用Mysqli操作数据库的方法(连接,查询,事务回滚等)_php技巧

本文实例讲述了PHP入门教程之使用Mysqli操作数据库的方法.分享给大家供大家参考,具体如下: Demo1.php <?php //使用 mysqli 对象操作数据库 //创建 mysqli 对象(资源句柄) $_mysqli = new mysqli(); //连接数据库 1.主机名(ip) 2.账户 3.密码 4.数据库 //mysqli_connect 函数 == $_mysqli -> connect(); $_mysqli -> connect('localhost','ro

php结合ACCESS的跨库查询功能_php技巧

问题说明: 有时需要在两个或三个数据库的表中,通过相关关键字,查询获取所需记录集,用一般的SQL查询语句是实现不了的,可通过ACCESS的跨库查询功能实现. 解决方法: 例如"装材类型"和"装材"两张表是在不同的数据库中的,具体查询方法,如下: 复制代码 代码如下: @"Select * from 装材类型 as a INNER JOIN [;database=" AppDomain.CurrentDomain.BaseDirectory &qu

PHP MYSQL实现登陆和模糊查询两大功能_php技巧

本文使用的软件版本如下:PHP版本 5.5.12:MYSQL版本 5.6.17:Apache 2.4.9 用的wampserver一.PHPMYSQL实现登陆 一共含有两个文件:login.php和logincheck.php;表单代码: <form action="logincheck.php"method="post"> Yonghu:<inputtype="text" name="username" /

PHP4 与 MySQL 数据库操作函数详解_php技巧

说PHP就不能不提MySQL,而要讲MySQL,那么PHP也是必然要被提起.PHP的迅速崛起,离不开MySQL,而MySQL的广泛应用,也与PHP休戚相关.   下面详细分析PHP4中与MySQL相关操作的函数(共32个,开头都为mysql_):   <1>. 连接数据库服务器(database server)的函数(2个):   (1).mysql_connect()   格式:int mysql_connect(string [hostname] [ort],string [usernam

PHP实现适用于文件内容操作的分页类_php技巧

本文实例为大家分享了PHP实现文件内容操作的分页类,强调一下只针对文件的操作,供大家参考,具体内容如下 <?php class StrPage { private $current; //当前页 private $file; //操作文件 private $totalPage; //总的页数 private $url; //传递的参数 private $pageLen; //每页显示的长度 function __construct( $file,$len = 200 ){ $this->fil

四个PHP非常实用的功能_php技巧

最近写的几个PHP实用功能整理了一下,弄成一个文档,写上说明,方便以后使用!一共有4个PHP实用功能,现在跟大家分享,喜欢的朋友可以把它收藏起来,说不定以后用得上. 1. PHP函数的任意数目的参数您可能知道PHP允许你定义一个默认参数的函数.但您可能并不知道PHP还允许你定义一个完全任意的参数的函数 下面是一个示例向你展示了默认参数的函数: // 两个默认参数的函数 function foo($arg1 = '', $arg2 = '') { echo "arg1: $arg1\n"

php自定义函数实现二维数组排序功能_php技巧

本文实例讲述了php自定义函数实现二维数组排序功能.分享给大家供大家参考,具体如下: /**作用: 二维数组排序函数,支持多键名排序 * 返回: 排序好的数组 * 使用: array_msort(数组,需要排序的键名,排序方式); * 例子: array_msort($cflist,"chapter_orderid","SORT_ASC"); * array_msort($arr,"name","SORT_ASC","