11月3日上午PHP练习《投票》

Posted 飘逸De精灵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了11月3日上午PHP练习《投票》相关的知识,希望对你有一定的参考价值。

1.建立数据库

 

表1:DiaoYanTiMu

表2:DiaoYanXuanXiang

 

2.页面 

页面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 type="text/css">
#fanhui{ display:none}
</style>
</head>

<body>
<form action="tpchuli.php" method="post">
<?php

$db = new  mysqli("localhost","root","123","mydb");

$sql = "select * from diaoyantimu";

$result = $db->query($sql);

$attr = $result->fetch_all();

foreach($attr as $v)
{
    echo "<div>{$v[1]}</div>";
    
    $sxx = "select * from diaoyanxuanxiang where timudaihao=\'{$v[0]}\'";
    
    $rxx = $db->query($sxx);    
    $axx = $rxx->fetch_all();
    
    $bs = 0;
    if(!empty($_GET["a"]))
    {
        $bs = $_GET["a"];
    }
    
    $s = $bs==1?"none":"block";
    
    echo "<div id=\'toupiao\' style=\'display:{$s}\'>";
    foreach($axx as $v1)
    {
        echo "<div><input type=\'checkbox\' name=\'tp[]\' value=\'{$v1[0]}\' />{$v1[1]}</div>";
    }
    echo "</div>";
    
    $s1 = $bs==0?"none":"block";
    
    //显示投票结果
    echo "<div id=\'jieguo\' style=\'display:{$s1}\'>";
    
    foreach($axx as $v2)
    {
        $v2[2]; //当前选项的人数
        //求总人数
        $szrs = "select sum(numbers) from diaoyanxuanxiang where timudaihao=\'{$v[0]}\'";
        $rzrs = $db->query($szrs);
        $azrs = $rzrs->fetch_row();
        $azrs[0]; //总人数
        
        $bfb = ($v2[2]/$azrs[0])*100;
        
        echo "<div>{$v2[1]}<div style=\'width:100px; height:10px; border:1px solid black;\'><div style=\'width:{$bfb}%; height:10px; background-color:red\'></div></div>{$v2[2]} {$bfb}%</div>";
    }
    
    echo "</div>";
}

?>
<input type="submit" value="投票" />
<input type="button" id="jg" value="查看结果" onclick="showjg()" />
<input type="button" id="fanhui" value="返回" onclick="showtp()"  />
</form>
</body>

<script type="text/javascript">
function showjg()
{
    document.getElementById("jieguo").style.display="block";
    document.getElementById("toupiao").style.display="none";
    document.getElementById("jg").style.display="none";
    document.getElementById("fanhui").style.display="block";
    
}

function showtp()
{
    document.getElementById("jieguo").style.display="none";
    document.getElementById("toupiao").style.display="block";
    document.getElementById("jg").style.display="block";
    document.getElementById("fanhui").style.display="none";
}
</script>
</html>

页面2:处理页面

<?php
$attr = $_POST["tp"];

$str = implode("\',\'",$attr);

$sql = "update diaoyanxuanxiang set numbers = numbers+1 where ids in(\'{$str}\')";

$db = new MySQLi("localhost","root","123","mydb");
$db->query($sql);

header("location:toupiao.php?a=1");

 

以上是关于11月3日上午PHP练习《投票》的主要内容,如果未能解决你的问题,请参考以下文章

11月7日上午PHP会话控制(session和cookie)跨页面传值

11月8日PHP练习《留言板》

11月15日上午文件上传

11月20日上午流程管理

2019年8月5日训练日记

10月24日上午PHP面向对象