php查询操作实现投票功能

前端技术 2023/09/04 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程序设计有所帮助。

本文地址:https://www.stayed.cn/item/9597

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。