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">
*{
    margin:0px auto;
    padding:0px;
    }
.title
{
    height:50px;
    margin:20px 0px 0px 20px;
}
.list
{
    width:300px;
    height:200px;
    margin-left:20px;
}
.xx
{
    width:300px;
    height:30px;
}
.jieguo
{
    width:300px;
    height:200px;
    margin-left:20px;
}
.xxnr
{
    width:300px;
    height:30px;
}
</style>
</head>

<body>
    <form action="ChuLi.php" method="post">

    <?php
        include("DBDA.php");
        $db = new DBDA();

        $sql = "select * from DiaoYanTiMu";

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

        //题目标题
        echo "<div class=‘title‘>{$result[0][1]}</div>";

        $code = $result[0][0];

        $sqlx = "select * from DiaoYanXuanXiang where TiMuDaiHao = {$code}";
        $resultx = $db->Query($sqlx);

        $xian = "";
        if(@$_GET["bs"]==1)
        {
            $xian = "display:none";
        }
        else
        {
            $xian="display:block";
        }

        //题目选项的DIV
        echo "<div class=‘list‘ style=‘{$xian}‘>";

        for($i=0;$i<count($resultx);$i++)
        {
            echo "<div class=‘xx‘>";
            echo "<input type=‘checkbox‘ value=‘{$resultx[$i][0]}‘ name=‘opt[]‘ />";
            echo "<span>{$resultx[$i][1]}</span>";
            echo "</div>";
        }

        echo "</div>";

        //下面是投票结果的DIV
        $xianshi = "";
        if(@$_GET["bs"]==1)
        {
            $xianshi = "display:block";
        }
        else
        {
            $xianshi="display:none";
        }
        echo "<div class=‘jieguo‘ style=‘{$xianshi}‘>";

        //求总人数
        $sqlcount = "select sum(Numbers) from DiaoYanXuanXiang";
        $attrcount = $db->Query($sqlcount);

        for($j=0;$j<count($resultx);$j++)
        {
            $rs = $resultx[$j][2];
            if($attrcount[0][0]==0)
            {
                $bfb = 0;
            }
            else
            {
                $bfb = ($rs/$attrcount[0][0])*100;
            }

            echo "<div class=‘xxnr‘>";

            echo "<span style=‘float:left‘>{$resultx[$j][1]}</span>";
            echo "<div style=‘float:left;margin:10px 0px 0px 10px;width:100px; height:4px; border:1px solid #000‘>
            <div style=‘width:{$bfb}%; height:4px;margin-left:0px; background-color:#666‘></div>
            </div>";
            echo "<span style=‘float:left; margin-left:10px‘>{$resultx[$j][2]}</span>";

            echo "</div>";
        }

        echo "</div>";

    ?>

    <div style="margin-left:20px; width:200px">
        <input id="tj" type="submit" style="float:left;<?php echo $xian; ?>;margin:0px 0px 0px 10px" value="提交" />
        <input id="fh" type="button" style="float:left;<?php echo $xianshi;?>;margin:0px 0px 0px 10px" onclick="ShowTP()" value="返回" />
        <input type="button" style="float:left;display:block;margin:0px 0px 0px 10px" onclick="ShowJieGuo()" value="显示结果" />
    </div>
    </form>
</body>

<script type="text/javascript">
function ShowJieGuo()
{
    var list = document.getElementsByClassName("list");
    var jieguo = document.getElementsByClassName("jieguo");
    var tj = document.getElementById("tj");
    var fh = document.getElementById("fh");

    fh.style.display="block";
    tj.style.display="none";
    list[0].style.display="none";
    jieguo[0].style.display ="block";
}
function ShowTP()
{
    var list = document.getElementsByClassName("list");
    var jieguo = document.getElementsByClassName("jieguo");
    var tj = document.getElementById("tj");
    var fh = document.getElementById("fh");

    fh.style.display="none";
    tj.style.display="block";
    list[0].style.display="block";
    jieguo[0].style.display ="none";
}
</script>
</html>

处理页面,接收投得的票数 并作出处理

<?php

include("DBDA.php");
$db = new DBDA();

$attr = $_POST["opt"];

for($i=0;$i<count($attr);$i++)
{
    $sql = "update DiaoYanXuanXiang set Numbers = Numbers+1 where Ids = {$attr[$i]}";

    $db->Query($sql,0);
}

header("location:Test.php?bs=1");

建立访问数据库的类,封装用于引用

<?php

class DBDA
{
    public $host = "localhost"; //服务器地址
    public $uid = "root"; //数据库的用户名
    public $pwd = "123"; //数据库的密码

    //执行SQL语句,返回相应结果的函数
    //$sql是要执行的SQL语句
    //$type是SQL语句的类型,0代表增删改,1代表查询
    //$db代表要操作的数据库
    public function Query($sql,$type=1,$db="mydb")
    {
        //造连接对象
        $conn = new MySQLi($this->host,$this->uid,$this->pwd,$db);

        //判断连接是否成功
        !mysqli_connect_error() or die("连接失败!");

        //执行SQL语句
        $result = $conn->query($sql);

        //判断SQL语句类型
        if($type==1)
        {
            //如果是查询语句返回结果集的二维数组
            return $result->fetch_all();
        }
        else
        {
            //如果是其他语句,返回true或false
            return $result;
        }
    }

}

方法二:

时间: 2024-08-04 18:44:27

php练习题:投票的相关文章

练习题投票和租房子

一:投票,连个页面都引用了DBDA封装类 <!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

1000道C语言和C++语言的练习题及答案 #0000-0050

汇集1000道C语言和C++语言的练习题 (例题.笔试题.编程题.算法设计题),由我亲自配上答案(点此查看). 语法题我就不出了,那个没意思,看书就可以了. 本贴汇集50题 (0000-0050),持续更新... 0001. 抽签题 从10个数中随机抽取5个数.(相当于双色球抽签问题) 0002. 插入排序 已有10个按增序排列好的整数1,3,5,7,9,11,13,15,17,19.要求把一个整数n插到数组中,保持增序排列. 0003. 数学公式类计算题 已经圆柱体的底半径r,高h,求体积v.

微信幼儿园投票刷礼物活动,你有被投票的经历吗?

朋友间的帮忙拉拉票就行,但是这件事要是到了自己身上就不是那么简单了,今天我姐的孩子参加幼儿园投票活动,让给拉拉票,自己投完了还要去群里发一圈好友发一遍,票数不够还要心甘情愿的买礼物,关键是下面买礼物的人还显示,不买还不行,当时心想这个一个孩子刷200元的礼物,50个孩子最起码也要上万啊,这生意绝了! 我小侄女的幼儿园人多,200个小盆友左右,平时她在班级表现的比较积成绩也比较优秀,经常得到老师的夸奖,最近圆里面搞了个最美宝贝评选大赛,活动浏览量接近100万人次,应该还不错:幼儿园说是别人给免费搞

微信里投票送礼物充值活动怎么做的什么系统?

你是不是最近总被人让我帮着他们亲戚家的孩子投票,说是幼儿园举办的活动,让我帮着投投票.要说麻烦吧,也不麻烦,就是总在想这有什么用呢?那些孩子我一个都不认识,说白了只是帮他们投票的其中一个水军而已. 今天我姐的孩子参加幼儿园投票活动,让给拉拉票,自己投完了还要去群里发一圈好友发一遍,票数不够还要心甘情愿的买礼物,关键是下面买礼物的人还显示,不买还不行,当时心想这个一个孩子刷200元的礼物,50个孩子最起码也要上万啊,这生意绝了! 我小侄女的幼儿园人多,200个小盆友左右,平时她在班级表现的比较积成

微信送礼物投票系统的详细解答

就目前来说,市场上的第三方微信投票系统种类很多,功能不一鱼龙混杂,功能很多的情况下有一些细微的区别,对于用户来说选择有一定的难度,下面我就来简单介绍一下微信投票活动大家经常关注的16个问题,对此进行详细的解答:只要能同时包括这个些功能的系统,通常都能够很好的满足活动举办方的要求,活动良好的用户体验! Q1.该投票系统可以设置每个微信用户投票次数吗? A3:可以的,可以设置一次活动每个微信用户的投票数,可设置每个微信用户每天的投票数!并且取消关注自动减掉此用户投票的所有记录,做到了自动减票的功能.

Java重要技术(15)内省之属性改变事件和投票否决事件

1.1. 属性改变事件和投票否决事件 PropertyChangeSupport类为Java Bean支持属性改变事件提供了方便. /** * @Title: EventBean.java * @Package com.test.javatechnology.introspection * @Description: * @author http://www.cnblogs.com/coe2coe/ * @date 2017年3月25日 下午6:02:36 * @version V1.0 */

投票问题三(C++)

投票问题三 难度级别:A: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 欧阳文和欧阳武竞选学联主席,汪梁森负责唱票,共有m+n张,结果欧阳文获胜,已知欧阳文和欧阳武分别获得 m 张票和 n 张票(m>n).现在请你计算在唱票过程中欧阳文的票数始终比欧阳武票数多的方案有多少种. 输入 一行,包括两个数,分别为 m 和 n  输出 一个数,表示符合题目要求的方案数. 输入示例 5 3 输出示例 14 其他说明 数据范围:1 <= m,n 

.net嵌入c#代码(投票练习)

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server&quo

[Lab4-1]抓路由练习题

[Lab4-1]抓路由练习题 问题1: 用ACL抓取172.18.0.0/16----172.29.0.0/16的路由 答案: 172.16.0.0 0.15.255.255,看上去很完美,但实际上框的范围有些大. R1(f0/0)-(f0/0)R2 R1上的接口地址: R1#sh ip int b Interface IP-Address OK? Method Status Protocol FastEthernet0/0 12.1.1.1 YES NVRAM up up Loopback0