PHP, 網頁設計

PHP教學-亂數隨機抽出得獎者名單

梅干2012/03/07
PHP教學-亂數隨機抽出得獎者名單
  先前梅前題曾舉辦了線上抽獎的小活動,也感謝各位網友的熱愛與支持,而每次最令梅干比較感到頭痛的是,當在活動截止日,要抽出得獎者時,就得四處找線上的抽獎的程式,來將幸運的得獎者抽出,由於梅干的記性實在不太好,因此每次都需要花一些時間找尋,所以在上次的活狀抽獎時,梅干就決定自已來寫一個抽獎程式,這樣就不用每次找半天了,並且梅干還加入了排除名單,比方像是資料不全,或是重覆參加者,就可將這些名單排除,再抽出所要的得獎者名單,而梅干也將程式碼整理了一下,並分享給各位,有需要的朋友,直接下載就可使用囉!

index.php
<form id="form1" name="form1" method="post" action="">
總數:
<input type="text" name="total" id="total" />
<br />
筆數:
<input type="text" name="count" id="count" />
<br /> 
排除:
<input name="except" type="text" id="except"  />
<br />
<input type="submit" name="button" id="button" value="送出" />
</form>
<hr>
<?php
if(isset($_POST['total']) && isset($_POST['count'])){
$POST_total = $_POST['total'];
$POST_count = $_POST['count'];
$POST_except = $_POST['except'];

$Rand = Array(); //定義陣列
$count = $POST_count ; //共產生幾筆

if(isset($_POST['except'])){
/*文字轉陣列-排除名單*/$Rand = explode(",",$POST_except);
}

while($count > 0){
$randval = mt_rand(1,$POST_total); //取亂數

if (!in_array($randval, $Rand)) {
$count--;
$Rand[] = $randval; //若無重復則 將亂數塞入陣列
echo $randval."<br>";
}
}
}
?>

當完成後,丟到PHP的空間,就可直接運作了~且只要依序輸入相關的設定值,再按送出,就會自動依照設定,將幸運的得獎者抽出囉!
#1
輸入相關的設定值。
PHP教學-亂數隨機抽出得獎者名單

#2
自動取出得獎者。
PHP教學-亂數隨機抽出得獎者名單
  哈~其實程式碼沒幾行,有興趣的朋友,也可自行下載研究,沒興趣的朋友,下載後就可直接使用了,而這次也要感謝好友男丁的協助,幫梅干進行一些除錯,讓這隻程式更加完整。
[範例下載]
UAG軍規iPhone防摔殼