이 기사의 예에서는 PHP 캐러셀 복권 인터페이스의 구현 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 내용은 다음과 같습니다.
여기 캐러셀 복권은 캐러셀 각도를 무작위로 반환하며 확률은 직접 정의할 수 있습니다
lottery_get.php 인터페이스 파일은 다음과 같습니다.
/*세션_시작()
if(!isset($_SESSION['zaszh_user_id'])){
echo json_encode(array('status'=>'error','msg'=>'연결 시간이 초과되었습니다. 페이지를 다시 열어주세요.'));
종료
}
$user_id = $_SESSION['zaszh_user_id'];*/
$user_id = 1; // 테스트용
// 캐러셀 영역
$arr_area = 배열(
'0' => array('min_angle'=>1,'max_angle'=>45,'상'=>'샤오미'),
'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 = 배열()
// 무작위로 뽑기
$num_rand = mt_rand(1,10)
스위치($num_rand){
//샤오미
사례 1: $area_selected = $arr_area[0]
//폴라로이드
사례 2: $area_selected = $arr_area[1]
// 전화비 10위안
사례 3: $area_selected = $arr_area[2]
// 전화비 5위안
사례 4: $area_selected = $arr_area[3]
//참여해주셔서 감사합니다
기본값:
스위치(mt_rand(1,4)){
사례 1: $area_selected = $arr_area[4] break;
사례 2: $area_selected = $arr_area[5] 중단
사례 3: $area_selected = $arr_area[6] 중단
사례 4: $area_selected = $arr_area[7] 중단
~
휴식
}
echo $area_selected['상'];
require('connect_database.php')
// 질문 답변 시 포인트 차감
정의
if($mysqli->affected_rows){
//포인트가 있습니다
// 포인트 소모 기록
$mysqli->query("zaszh_answer_points_consume(user_id,points_consume,consume_for,create_date) 값에 삽입('{$user_id}',5,'lottery',unix_timestamp(now()))");
전환($area_selected['상']){
케이스 'Xiaomi':
$mysqli->query("update zaszh_prize_surplus set surplus=surplus-1 where Prize='Xiaomi' and surplus>0");
If($mysqli->affected_rows){
> 남음
$mysqli->query("zaszh_award(user_id,prize,create_date) 값에 삽입('{$user_id}','Xiaomi',unix_timestamp(now()))");
If($mysqli->affected_rows){
echo json_encode(array('status'=>'성공','msg'=>'샤오미'))
~// 승리 실패
~
~
>
~
휴식
케이스 '폴라로이드':
$mysqli->query("update zaszh_prize_surplus set surplus=surplus-1 where Prize='Polaroid' and surplus>0");
If($mysqli->affected_rows){
> 남음
$mysqli->query("zaszh_award(user_id,prize,create_date) 값에 삽입('{$user_id}','Polaroid',unix_timestamp(now()))");
If($mysqli->affected_rows){
echo json_encode(array('status'=>'성공','msg'=>'폴라로이드'))
~
// 승리 실패
~
~
>
~
휴식
'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("zaszh_award(user_id,prize,create_date) 값에 삽입('{$user_id}','10위안 전화 요금',unix_timestamp(now()))");
If($mysqli->affected_rows){
> 1 to to to to to to toe echo json_encode(array('status'=>'성공','msg'=>'10 위안 '))
~
// 승리 실패
~
~
>
~
휴식
'통화료 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("zaszh_award(user_id,prize,create_date) 값에 삽입('{$user_id}','5위안 전화 수수료',unix_timestamp(now()))");
If($mysqli->affected_rows){
echo json_encode(array('status'=>'success','msg'=>'5 위안 전화 요금'));
~
// 승리 실패
~
~
>
~
휴식
기본:
echo json_encode(array('status'=>'성공','msg'=>'참여해 주셔서 감사합니다'))
}
}그밖에{
// 포인트 없음
echo json_encode(array('status'=>'error','msg'=>'포인트가 부족합니다.'));
}
$mysqli->close();
이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.