php抽奖程序(抽取三名幸运观众)的核心代码

发布时间:2020-04-15编辑:脚本学堂
本文介绍下,用php实现的抽奖程序的核心代码,抽取三名幸运观众。有需要的朋友参考下吧。

需求描述:
要求从每天投票的人中抽出幸运观众,每个用户只能中奖一次(各种情况都有)。

实现思路:
数据库中取出所有参与者信息,编写程序抽出中奖者的uid 展示,后台审核通过入库,前台即可展示。

关键代码:
此例中只抽取三名幸运观众
 

复制代码 代码示例:

<?php
/**
* php抽奖程序核心代码
* edit www.jb200.com
*/
$sql = “select distinct(***),username from *** where daystatus=0 and ***=’{$yesterday}’ and daystatus=0″ ;
$res = mysql_query( $sql, $g_mysql ) or sys_exit( “系统忙,请稍候再试”, mysql_error() ) ;
$users = mysql_fetch_all( $res ) ; //获取所有参与者信息,每个人的信息唯一
$award_users = array() ;//建立中奖数组
if ( count( $users ) else {
$nums = get_award3( $users ) ; //执行抽奖程序,返回中奖者的下标
echo “获奖名单如下:” . ”

” ;
foreach ( $nums as $key => $value ) {
$award_users[] = $users[$value] ;
echo “uid :” . $users[$value]['uid'] . ” 昵称:” . $users[$value]['username'] ”
” ;
$uids[$key] = $users[$value]['uid'] ;
}
}
$_SESSION['users'] = ” ;
$_SESSION['users'] = $award_users ; //后台审核抽奖名单入库(确定)时用
echo <<< EOF
抽奖信息入库

EOF;
function get_award3( $users ) {//抽奖函数,为了防止有重复,多了个判断
$count = count( $users ) ;
$i = 0 ;
$result = array() ;
while ( $i < 3 ) {
$j = rand( 0, $count – 1 ) ;
if ( ! in_array( $j, $result ) ) {
$result[$i] = $j ;
$i++ ;
}
}
return $result ;
}
?>
 

大家可以参考下以上代码的实现思路,有兴趣的朋友,自己动手实现一个完整的php抽奖程序吧。

您可能感兴趣的文章:
php 权重计算方法(抽奖)
学习php抽奖程序之几率算法
php抽奖小程序代码一例
php分时间段的抽奖程序代码
php抽奖计算的例子