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

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教程

更多相关文章

  1. php魔术常量教程
  2. php curl发送请求详细教程
  3. 有关PHP中PDO连接数据库的详细教程与实际操作演示
  4. 关于 PhpSpreadsheet 简单教程
  5. PHP_CodeSniffer安装和使用教程(自动代码检查规范工具)

随机推荐

  1. java并发之TimeUnit理解
  2. 函数式编程思维在三行代码情书中的应用
  3. 跨年游-四姑娘山大峰/二峰初级雪山攀登、
  4. 用 Vue 开发自己的 Chrome 扩展[每日前端
  5. 我还在生产玩 JDK7,JDK 15 却要来了!|新特
  6. 这才是GraphQL最详细的解释[每日前端夜话
  7. linux 破解root密码时遇到的问题
  8. SpringBoot热部署加持
  9. WebRTC 的现状和未来:专访 W3C WebRTC Cha
  10. Spring Boot Admin 2.0开箱体验