投票的结果页面的功能是根据投票的统计数据,显示当前的投票结果。只有在登录的情况下才能查看。
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>
<div id="vote">
<table>
<tr>
<td>发布人:<?php echo $username[0];?></td><td>发布时间:<?php echo $vitem['starttime']; ?></td>
</tr>
</table>
<div id="vote_intro">
<?php echo $vitem['vintro'] ?>
</div>
<div 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 "<div class='vote_contend_item'> ".$option[$i]."</div>".
"<div class='vote_contend_img'><div class='vote_contend_strip' style='width:".$ratewidth[$i]."px'></div></div>".
"<div class='vote_contend_count'> 票数:".$ballot[$i]." 得票率:".$rate[$i]."%</div>";
}
?>
(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、效果