当前位置:首页 > 综合实例 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2022-07-09 09:35:43 浏览: 评论:0 

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

1、数据库连接部分

  1. <?php 
  2.  
  3.         if($ouser == ''){ 
  4.  
  5.             echo "<script>alert('请先登录!');location.href='index.php';</script>"
  6.  
  7.         }else
  8.  
  9.             $voteid=@$_GET['vid']; 
  10.  
  11.             if($voteid == ''){ 
  12.  
  13.                 echo "location.href='index.php';</script>"
  14.  
  15.             }else
  16.  
  17.                 $sql="select vname,starttime,uid,vintro,open,more,max,min from vote where vid='".$voteid."'"
  18.  
  19.                 $voteitem=mysql_query($sql); 
  20.  
  21.                 $vitem=mysql_fetch_array($voteitem); 
  22.  
  23.  
  24.  
  25.                 $sql2="SELECT itemcount,item,num FROM votetitle where vid='".$voteid."'"
  26.  
  27.                 $votetitle=mysql_query($sql2); 
  28.  
  29.                 $vtitle=mysql_fetch_array($votetitle); 
  30.  
  31.  
  32.  
  33.                 $sql3="SELECT username FROM users where uid='".$vitem['uid']."'"; 
  34.  
  35.                 $uname=mysql_query($sql3); 
  36.  
  37.                 $username=mysql_fetch_row($uname); 
  38.  
  39.         ?> 

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

  1. <center><h2><?php echo $vitem['vname']; ?></h2></center> 
  2.  
  3.             <p id="vote"
  4.  
  5.                 <table> 
  6.  
  7.                     <tr> 
  8.  
  9.                       <td>发布人:<?php echo $username[0];?></td><td>发布时间:<?php echo $vitem['starttime']; ?></td> 
  10.  
  11.                     </tr> 
  12.  
  13.                 </table> 
  14.  
  15.                 <p id="vote_intro"
  16.  
  17.                     <?php echo $vitem['vintro'] ?> 
  18.  
  19.                 </p> 
  20.  
  21.                 <p id="vote_contend"

3、逐条输出结果

  1. <?php 
  2.  
  3.                     $itemcount=$vtitle['itemcount']; 
  4.  
  5.                     $option=explode('*',$vtitle['item']); 
  6.  
  7.                     $ballot=explode('*',$vtitle['num']); 
  8.  
  9.                     $total=0; 
  10.  
  11.                     $rate
  12.  
  13.                     $ratewidth
  14.  
  15.                     for($i=0;$i<count($ballot);$i++){ 
  16.  
  17.                         $total=$total+$ballot[$i]; 
  18.  
  19.                     } 
  20.  
  21.                     for($i=0;$i<count($ballot);$i++){ 
  22.  
  23.                         if($total==0){ 
  24.  
  25.                             $rate[$i]=0; 
  26.  
  27.                             $ratewidth[$i]=0; 
  28.  
  29.                         }else
  30.  
  31.                             $rate[$i]=round(($ballot[$i]/$total)*100); 
  32.  
  33.                             $ratewidth[$i]=$rate[$i]*2; 
  34.  
  35.                         } 
  36.  
  37.                     } 
  38.  
  39.                     for($i=0;$i<$itemcount;$i++){ 
  40.  
  41.                         echo "<p class='vote_contend_item'> ".$option[$i]."</p>"
  42.  
  43.                             "<p class='vote_contend_img'><p class='vote_contend_strip' style='width:".$ratewidth[$i]."px'></p></p>"
  44.  
  45.                             "<p class='vote_contend_count'> 票数:".$ballot[$i]." 得票率:".$rate[$i]."%</p>"
  46.  
  47.                     } 
  48.  
  49.                     ?> 

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

  1. for($i=0;$i<count($ballot);$i++){ 
  2.  
  3.                         $total=$total+$ballot[$i]; 
  4.  
  5.                     } 
  6.  
  7.                     for($i=0;$i<count($ballot);$i++){ 
  8.  
  9.                         if($total==0){ 
  10.  
  11.                             $rate[$i]=0; 
  12.  
  13.                             $ratewidth[$i]=0; 
  14.  
  15.                         }else
  16.  
  17.                             $rate[$i]=round(($ballot[$i]/$total)*100); 
  18.  
  19.                             $ratewidth[$i]=$rate[$i]*2; 
  20.  
  21.                         } 
  22.  
  23.                     } 

4、效果

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

Tags: php线投票系统

分享到: