zoukankan      html  css  js  c++  java
  • 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
    {
    	400px;
    	height:300px;}
    #jieguo
    {
    	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='200px; height:10px; background-color:#808080'>
    		<div style='{$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='200px; height:10px; background-color:#808080'>
    	<div style='{$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>
    

      

    网页显示结果:

     

  • 相关阅读:
    tree-cli 自动生成项目目录结构
    按需导入vant-ui
    全局导入vant-ui
    mook使用流程
    axios使用流程
    Vuex使用流程
    vue-router使用流程
    img的complete和onload
    react-redux 如何在子组件里访问store对象
    ES6中的Export/import操作的是引用
  • 原文地址:https://www.cnblogs.com/ds-3579/p/5470726.html
Copyright © 2011-2022 走看看