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");
时间: 2024-12-29 07:34:06

11月3日上午PHP练习《投票》的相关文章

11月18日上午权限管理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-

11月20日上午流程管理

1.建立一个添加页面,在这个页面上可以选择增加节点. add.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>

11月10日上午ajax基础知识、用ajax做登录页面、用ajax验证用户名是否可用、ajax动态调用数据库

1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处理页面的,处理页面只是操作数据库并且返回值,页面都是ajax处理的. ajax的写法: test.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR

11月8日上午Jquery的基础语法、选取元素、操作元素、加事件、挂事件及移除事件

jquery基础知识 1.jquery文件的引入,所有的js代码要写在下面那段代码下面. <script src="../jquery-1.11.2.min.js"></script><!--引入的jquery一定是在最上面的,也要在其它引入的jquery文件上面--> 2.写jquery代码的位置 和js一样,jquery代码也是写在<script>开始和结束标签之间. <script type="text/javasc

11月15日上午文件上传

1.文件上传后提交显示的信息 <form action="chuli.php" method="post" enctype="multipart/form-data"><!--enctype="multipart/form-data代表的是上传文件--> <input type="file" name="file" /> <input type="

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

1.session  登录上一个页面以后,长时间没有操作,刷新页面以后需要重新登录. 特点:(1)session是存储在服务器:   (2)session每个人(登陆者)存一份: (3)session有默认的过期时间:(如果登录的人过多,数据就会太多,由于存储在服务器,会给服务器造成压力,过一定的时间会清除掉) (4)session里面可以存储任意类型的数据. 由以上特点可以总结出session的特点是比较安全.缺点是对服务器造成一定的压力. (5)当一个页面需要使用session时,需要在页面

11月6日上午PHP练习《租房子》解析

一.题目要求 二.题目做法 1.建立数据库 2.封装类文件 <?php class DBDA { public $fuwuqi="localhost"; //服务器地址 public $yonghuming="root";//用户名 public $mima="";//密码 public $dbconnect;//连接对象 //操作数据库的方法 //$sql代表需要执行的SQL语句 //$type代表SQL语句的类型,1代表查询,2代表增删

关于11月28日CSDN遭受网络攻击的情况说明

各位CSDN网友: 2014年11月28日,CSDN网站因遭受网络攻击导致用户无法正常登陆或访问,对此,许多网友通过微博.微信.邮件.QQ等多种方式,对我们表示了极大的关注.经过技术人员的努力,在遭受攻击16个小时之后,CSDN各项服务恢复正常. 在此,我们向大家对CSDN的关心表示衷心的感谢,同时将情况向大家做简要说明. 11月28日上午9:40分,CSDN网站受到网络攻击.经排查,发现CSDN网站正在遭受DNS和NTP反射攻击,攻击流量一度达到50G以上.经过技术团队的连夜工作,截止本文发布

11月10日直播:EVE-NG模拟器入门和老司机心得分享,你来不来?

大家好. 今天要告诉你们一个好消息,本周六11月10号早上10点到11点. 我计划开一个直播和你们一起聊聊如何入门EVE-NG模拟器. 说起EVE-NG,相信很多人都多多少少听说过. 它和GNS3,以及思科的VIRL,Packet-tracer一样,均算是设备仿真一类的软件. 说白了就是模拟器. 但是EVE-NG相比GNS3,我个人认为使用体验和便捷程度更上一层楼. 所以从2017年开始,我就已经慢慢把自己的网络模拟器从GNS3迁移到EVE-NG. 因此我在写<老司机网络运维集锦>以及<