首页 > 代码库 > php投票练习

php投票练习

一、题目要求:建立如下两个数据库,实现投票和%的统计结果:

技术分享

技术分享

、具体编写方法:

(1)、建立数据库:

技术分享

里面的蓝色背景的表格名称就是我们所需的表格!

表格内容如下:

表名:diaoyantimu

技术分享

表名:diaoyanxuanxiang

技术分享

(2)、封装类文件:

 

<?phpclass DBDA{    public $fuwuqi="localhost";    public $yonghuming="root";    public $mima="root";        public $dbconnect;        function Query($sql,$type=1,$shujukuming="test")    {               $this->dbconnect = new MySQLi($this->fuwuqi,$this->yonghuming,$this->mima,$shujukuming);                        if(!mysqli_connect_error())        {                       $result = $this->dbconnect->query($sql);                                   if($type==1)            {                             return $result->fetch_all();                }            else            {                               return $result;                }                }        else        {            return"连接失败";                    }                    }    }?>

 

(3)、投票页面(shouye.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">.x{    float:left;}#top{    width:500px;    height:200px;}#bottom{    width:500px;    height:200px;    display:none;}#fanhui{    display:none;}</style></head><body><form action="chuli.php" method="post"><?phpinclude("DBDA.class.php");$db=new DBDA;$stm="select * from diaoyantimu limit 0,1";$atm = $db->Query($stm);echo "<div>题目名称:{$atm[0][1]}</div>";$sxx="select * from diaoyanxuanxiang where timudaihao=‘{$atm[0][0]}‘";$axx=$db->Query($sxx);echo "<div id=‘top‘>";foreach($axx as $v){echo "<div><input type=‘checkbox‘ value=http://www.mamicode.com/‘{$v[0]}‘ name=‘xx[]‘/>{$v[1]}
"; }echo "</div>";
?><div id="bottom"><?php$sum="select sum(Numbers) from diaoyanxuanxiang where timudaihao=‘{$atm[0][0]}‘";$asum=$db->Query($sum);$total=$asum[0][0];foreach($axx as $v){ $bfb=($v[2]/$total)*100; echo "<div><span class=‘x‘>{$v[1]}</span> <div class=‘x‘ style=‘border:1px solid blue;width:120px; height:12px‘> <div style=‘background-color:red;height:12px;width:{$bfb}%‘></div> </div> <span class=‘x‘>&nbsp;{$v[2]}&nbsp;</span> <span class=‘x‘>{$bfb}%</span> </div> <div style=‘clear:both‘></div>";}?></div> <div id="anniu"><input type="submit" value="提交"/><input type="button" value="查看" onclick="ShowResult()"/></div><div id="fanhui"><input type="button" value="返回" onclick="Show()" /></div></form></body><script type="text/javascript">function ShowResult(){ document.getElementById("top").style.display="none"; document.getElementById("bottom").style.display="block"; document.getElementById("fanhui").style.display="block"; document.getElementById("anniu").style.display="none";}function Show(){ document.getElementById("top").style.display="block"; document.getElementById("bottom").style.display="none"; document.getElementById("fanhui").style.display="none"; document.getElementById("anniu").style.display="block";}</script></html>

(4)、投票处理页面(chuli.php):

<?php$ids = $_POST["xx"];include("DBDA.class.php");$db = new DBDA();foreach($ids as $v){    $sql = "update diaoyanxuanxiang set Numbers = Numbers+1 where Ids=‘{$v}‘";    $db->Query($sql,0);}header("location:shouye.php");

显示结果如下:

技术分享

 

技术分享

 

php投票练习