> 백엔드 개발 > PHP 튜토리얼 > PHP, jQuery, Mysql을 이용한 복권 프로그램 구현 예

PHP, jQuery, Mysql을 이용한 복권 프로그램 구현 예

黄舟
풀어 주다: 2023-03-17 14:50:01
원래의
2135명이 탐색했습니다.

이전 기사에서는 PHP로 복권 프로그램을 구현하기 위한 당첨 확률 알고리즘을 소개했습니다. 또한 우리 작업에서 복권 프로그램을 자주 접한다는 것을 알고 있으므로 오늘은 PHP, jQuery를 사용하여 복권 프로그램을 구현하는 방법을 소개하겠습니다. 그리고 MySQL의 예!

이 예의 복권 프로그램은 다수의 휴대폰 번호 중 하나를 무작위로 당첨 번호로 선택하는 것입니다. 여러 번 추첨될 수 있으며, 추첨된 번호는 다시 추첨되지 않습니다. 추첨 과정: "시작" 버튼을 클릭하면 프로그램이 번호 정보를 획득하고 스크롤하여 번호를 표시합니다. "중지" 버튼을 클릭하면 이때 표시되는 번호가 당첨 번호입니다. 추첨을 계속하려면 "시작" 버튼을 클릭하세요.

HTML

<div id="roll">
</div>
<input type="hidden" id="mid" value=""> 
<p>
<input type="button" class="btn" id="start" value="开始">  
<input type="button" class="btn" id="stop" value="停止">
</p> <div id="result"></div>
로그인 후 복사

위 코드에서 굴러가는 숫자를 표시하려면 #roll이 필요하고, 추첨된 숫자의 ID를 기록하려면 #mid가 필요하며, 각각 "시작"과 "중지"를 위한 두 개의 버튼이 필요합니다. . "Action, 그리고 마지막으로 복권 결과를 표시하려면 #result가 필요합니다.

CSS

우리는 간단한 CSS를 사용하여 HTML 페이지를 장식합니다.

.demo{width:300px; margin:60px auto; text-align:center} 
#roll{height:32px; line-height:32px; font-size:24px; color:#f30} 
.btn{width:80px; height:26px; line-height:26px; background:url(btn_bg.gif) 
 repeat-x; border:1px solid #d3d3d3; cursor:pointer} 
#stop{display:none} 
#result{margin-top:20px; line-height:24px; font-size:16px; text-align:center}
로그인 후 복사

기본적으로 #stop 버튼을 표시:없음으로 설정하여 처음에는 "시작" 버튼만 표시되도록 설정했습니다. "시작"을 클릭하면 복권이 진행되는 동안 "중지" 버튼이 표시됩니다. 진행중.

jQuery

가장 먼저 달성해야 할 일은 "시작" 버튼을 클릭하고 ajax, 즉 휴대폰 번호를 통해 백그라운드에서 복권에 대한 데이터를 가져온 다음 휴대폰 번호를 표시하는 것입니다. 매번 표시되는 휴대폰 번호는 무작위입니다. 즉, 다음 코드를 살펴보겠습니다.

$(function(){ 
    var _gogo; 
    var start_btn = $("#start"); 
    var stop_btn = $("#stop"); 
     
    start_btn.click(function(){ 
        $.getJSON(&#39;data.php&#39;,function(json){ 
            if(json){ 
                var obj = eval(json);//将JSON字符串转化为对象 
                var len = obj.length; 
                _gogo = setInterval(function(){ 
                    var num = Math.floor(Math.random()*len);//获取随机数 
                    var id = obj[num][&#39;id&#39;]; //随机id 
                    var v = obj[num][&#39;mobile&#39;]; //对应的随机号码 
                    $("#roll").html(v); 
                    $("#mid").val(id); 
                },100); //每隔0.1秒执行一次 
                stop_btn.show(); 
                start_btn.hide(); 
            }else{ 
                $("#roll").html(&#39;系统找不到数据源,请先导入数据。&#39;); 
            } 
        }); 
    }); 
});
로그인 후 복사

먼저 후속 작업을 용이하게 하기 위해 변수를 정의합니다. 전화. 그런 다음 "시작" 버튼을 클릭하면 페이지에서 Ajax 요청을 배경 data.php로 보냅니다. 여기서는 jqeury의 getJSON을 사용하여 비동기 요청을 완료합니다. 백그라운드에서 json 데이터가 반환되면 실제로 json 데이터를 배열로 변환하는 eval() 함수를 통해 JSON 문자열을 객체 obj로 변환할 수 있습니다. 이때 타이머를 만들기 위해 setInterval을 사용합니다. 타이머에서 해야 할 작업은 obj 배열에서 휴대폰 번호 정보를 무작위로 얻어서 페이지에 표시하는 것입니다. 그런 다음 0.1마다 타이머를 실행하여 복권 번호를 스크롤하는 효과를 얻습니다. 동시에 '중지' 버튼이 표시되고 '시작' 버튼은 숨겨집니다. 이때 추첨이 진행됩니다.

다음으로 '정지' 동작에 필요한 작업을 살펴보겠습니다.

stop_btn.click(function(){ 
        clearInterval(_gogo); 
        var mid = $("#mid").val(); 
        $.post("data.php?action=ok",{id:mid},function(msg){ 
            if(msg==1){ 
                var mobile = $("#roll").html(); 
                $("#result").append("<p>"+mobile+"</p>"); 
            } 
            stop_btn.hide(); 
            start_btn.show(); 
        }); 
    });
로그인 후 복사

"중지" 버튼을 클릭하시면 추첨이 끝났다는 뜻입니다. 타이머를 중지하고 추첨된 숫자의 ID를 얻은 다음 $.post를 통해 처리하기 위해 선택된 숫자의 ID를 배경 data.php로 전송하려면clearInterval() 함수를 사용하십시오. 추첨되어야 할 번호는 데이터베이스에 표시되어야 합니다. 백그라운드 처리가 성공하면 프런트 엔드에서 당첨 결과에 당첨 번호를 추가하고 "정지" 버튼을 숨기고 "시작" 버튼을 표시하여 다시 추첨할 수 있습니다.

타이머를 설정하고 중지하기 위해 setInterval() 및clearInterval()을 사용합니다. 이 두 기능의 사용에 대해서는 Google 또는 Baidu에서 검색할 수 있습니다.

PHP

data.php는 먼저

를 통해 데이터베이스에 접속하고, 휴대폰 번호 정보(당첨번호 제외)를 읽어와서 변환해서 프런트 엔드에 출력하는 작업을 해야 합니다. 둘째, 프런트엔드 요청을 수신하면 해당 데이터베이스의 당첨 번호 상태가 수정되어 해당 번호가 당첨되었으며 다음번에는 더 이상 복권 번호로 사용되지 않음을 나타냅니다.

데이터 테이블 멤버에 status라는 필드가 있는 것을 볼 수 있습니다. 이 필드는 당첨 여부를 식별하는 데 사용됩니다. 1은 상을 받았음을 의미하고, 0은 상을 받지 못했음을 의미합니다. 이 백그라운드 PHP 프로그램은 데이터베이스를 운영한 후 해당 정보를 프런트엔드로 반환합니다.

MYSQL

마지막으로 멤버 테이블 구조 정보를 첨부합니다.

CREATE TABLE `member` ( 
  `id` int(11) NOT NULL auto_increment, 
  `mobile` varchar(20) NOT NULL, 
  `status` tinyint(1) NOT NULL default &#39;0&#39;, 
  PRIMARY KEY  (`id`) 
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
로그인 후 복사

요약: 이 기사에서는 예제를 통해 php, jQuery 및 Mysql을 사용한 복권 프로그램 구현에 대해 자세히 설명합니다. 복권 프로그램과 관련하여 다양한 요구 사항에 따라 다양한 표현 형식이 있습니다. 응용 프로그램.

관련 추천:

당첨 확률을 위한 PHP 복권 프로그램 구현 알고리즘의 예

php 복권 프로그램 및 무작위 광고 구현 알고리즘

PHP 복권 프로그램 확률 알고리즘

위 내용은 PHP, jQuery, Mysql을 이용한 복권 프로그램 구현 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿