微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

一小时学会简易在线投票系统php

投票的结果页面功能是根据投票的统计数据,显示当前的投票结果。只有在登录的情况下才能查看。

1、数据库连接部分

<?PHP
        if($ouser == ''){
            echo <script>alert('请先登录!');location.href='index.PHP';</script>;
        }else{
            $Voteid=@$_GET['vid'];
            if($Voteid == ''){
                echo location.href='index.PHP';</script>;
            }else{
                $sql=select vname,starttime,uid,vintro,open,more,max,min from Vote where vid='.$Voteid.';
                $Voteitem=MysqL_query($sql);
                $vitem=MysqL_fetch_array($Voteitem);

                $sql2=SELECT itemcount,item,num FROM Votetitle where vid='.$Voteid.';
                $Votetitle=MysqL_query($sql2);
                $vtitle=MysqL_fetch_array($Votetitle);

                $sql3=SELECT username FROM users where uid='.$vitem['uid'].';
                $uname=MysqL_query($sql3);
                $username=MysqL_fetch_row($uname);
        ?>

2、投票活动基本信息的显示

<center><h2><?PHP echo $vitem['vname']; ?></h2></center>
            <p id=Vote>
            	<table>
                	<tr>
                   	  <td>发布人:<?PHP echo $username[0];?></td><td>发布时间:<?PHP echo $vitem['starttime']; ?></td>
                    </tr>
                </table>
                <p id=Vote_intro>
                	<?PHP echo $vitem['vintro'] ?>
                </p>
                <p id=Vote_contend>

3、逐条输出结果

<?PHP
                	$itemcount=$vtitle['itemcount'];
					$option=explode('*',$vtitle['item']);
					$ballot=explode('*',$vtitle['num']);
					$total=0;
					$rate;
					$ratewidth;
					for($i=0;$i<count($ballot);$i++){
						$total=$total+$ballot[$i];
					}
					for($i=0;$i<count($ballot);$i++){
						if($total==0){
							$rate[$i]=0;
							$ratewidth[$i]=0;
						}else{
							$rate[$i]=round(($ballot[$i]/$total)*100);
							$ratewidth[$i]=$rate[$i]*2;
						}
					}
					for($i=0;$i<$itemcount;$i++){
						echo <p class='Vote_contend_item'> .$option[$i].</p>.
							<p class='Vote_contend_img'><p class='Vote_contend_strip' style='width:.$ratewidth[$i].px'></p></p>.
							<p class='Vote_contend_count'> 票数:.$ballot[$i]. 得票率:.$rate[$i].%</p>;
					}
                	?>

(1)通过方法计算出得票率,并形成图表

for($i=0;$i<count($ballot);$i++){
						$total=$total+$ballot[$i];
					}
					for($i=0;$i<count($ballot);$i++){
						if($total==0){
							$rate[$i]=0;
							$ratewidth[$i]=0;
						}else{
							$rate[$i]=round(($ballot[$i]/$total)*100);
							$ratewidth[$i]=$rate[$i]*2;
						}
					}

4、效果

e0611f4f4cbe184565269cbce24629f.png

感谢大家的阅读,希望大家有所收益。

推荐教程:《PHP教程

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐