如何使用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><h3><?php echo $vitem['vname']; ?></h3></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、效果

关于如何使用php做出简易在线投票系统问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。