>백엔드 개발 >PHP 튜토리얼 >PHP 캐러셀 복권 데모

PHP 캐러셀 복권 데모

WBOY
WBOY원래의
2016-08-08 09:31:38970검색

휠 복권은 무작위로 휠 아크를 반환합니다

확률은 직접 정의할 수 있습니다

lottery_get.php

<?php

/*session_start();
if(!isset($_SESSION[&#39;zaszh_user_id&#39;])){
	echo json_encode(array(&#39;status&#39;=>'error','msg'=>'连接超时,请重新打开页面。'));
	exit;
}
$user_id = $_SESSION['zaszh_user_id'];*/

$user_id = 1; // 测试用

// 转盘区域
$arr_area = array(
	'0' => array('min_angle'=>1,'max_angle'=>45,'prize'=>'小米'),
	'1' => array('min_angle'=>46,'max_angle'=>90,'prize'=>'拍立得'),
	'2' => array('min_angle'=>91,'max_angle'=>135,'prize'=>'10元话费'),
	'3' => array('min_angle'=>136,'max_angle'=>180,'prize'=>'5元话费'),
	'4' => array('min_angle'=>181,'max_angle'=>225,'prize'=>'谢谢参与'),
	'5' => array('min_angle'=>226,'max_angle'=>270,'prize'=>'谢谢参与'),
	'6' => array('min_angle'=>271,'max_angle'=>315,'prize'=>'谢谢参与'),
	'7' => array('min_angle'=>316,'max_angle'=>360,'prize'=>'谢谢参与')
);

// 选定区域
$area_selected = array();
// 随机抽取
$num_rand = mt_rand(1,10);
switch($num_rand){
	// 小米
	case 1: $area_selected = $arr_area[0]; break;
	// 拍立得
	case 2: $area_selected = $arr_area[1]; break;
	// 10元话费
	case 3: $area_selected = $arr_area[2]; break;
	// 5元话费
	case 4: $area_selected = $arr_area[3]; break;
	// 谢谢参与
	default:
		switch(mt_rand(1,4)){
			case 1: $area_selected = $arr_area[4]; break;
			case 2: $area_selected = $arr_area[5]; break;
			case 3: $area_selected = $arr_area[6]; break;
			case 4: $area_selected = $arr_area[7]; break;
		}
		break;
}
echo $area_selected['prize'];

require('connect_database.php');
// 扣除答题积分
$mysqli->query("update zaszh_user set answer_points=answer_points-5 where id='{$user_id}' and answer_points>=5");
if($mysqli->affected_rows){
	// 有积分
	// 记录积分消耗
	$mysqli->query("insert into zaszh_answer_points_consume(user_id,points_consume,consume_for,create_date) values('{$user_id}',5,'lottery',unix_timestamp(now()))");

	switch($area_selected['prize']){
		case '小米':
			$mysqli->query("update zaszh_prize_surplus set surplus=surplus-1 where prize='小米' and surplus>0");
			if($mysqli->affected_rows){
				// 有剩余
				$mysqli->query("insert into zaszh_award(user_id,prize,create_date) values('{$user_id}','小米',unix_timestamp(now()))");
				if($mysqli->affected_rows){
					echo json_encode(array('status'=>'success','msg'=>'小米'));
				}else{
					// 获奖失败
				}
			}else{
				// 无剩余
			}
			break;
		case '拍立得':
			$mysqli->query("update zaszh_prize_surplus set surplus=surplus-1 where prize='拍立得' and surplus>0");
			if($mysqli->affected_rows){
				// 有剩余
				$mysqli->query("insert into zaszh_award(user_id,prize,create_date) values('{$user_id}','拍立得',unix_timestamp(now()))");
				if($mysqli->affected_rows){
					echo json_encode(array('status'=>'success','msg'=>'拍立得'));
				}else{
					// 获奖失败
				}
			}else{
				// 无剩余
			}
			break;
		case '10元话费':
			$mysqli->query("update zaszh_telephone_charge_surplus set charge_surplus=charge_surplus-10 where date=substring(now(),1,10) and charge_surplus>=10");
			if($mysqli->affected_rows){
				// 有剩余
				$mysqli->query("insert into zaszh_award(user_id,prize,create_date) values('{$user_id}','10元话费',unix_timestamp(now()))");
				if($mysqli->affected_rows){
					echo json_encode(array('status'=>'success','msg'=>'10元话费'));
				}else{
					// 获奖失败
				}
			}else{
				// 无剩余
			}
			break;
		case '5元话费':
			$mysqli->query("update zaszh_telephone_charge_surplus set charge_surplus=charge_surplus-5 where date=substring(now(),1,10) and charge_surplus>=5");
			if($mysqli->affected_rows){
				// 有剩余
				$mysqli->query("insert into zaszh_award(user_id,prize,create_date) values('{$user_id}','5元话费',unix_timestamp(now()))");
				if($mysqli->affected_rows){
					echo json_encode(array('status'=>'success','msg'=>'5元话费'));
				}else{
					// 获奖失败
				}
			}else{
				// 无剩余
			}
			break;
		default:
			echo json_encode(array('status'=>'success','msg'=>'谢谢参与'));
	}
}else{
	// 无积分
	echo json_encode(array('status'=>'error','msg'=>'您的积分不足。'));
}
$mysqli->close();

위 내용은 PHP 캐러셀 복권 데모를 소개하며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.