/*セッション開始();
if(!isset($_SESSION['zaszh_user_id'])){
echo json_encode(array('status'=>'error','msg'=>'接続がタイムアウトしました。ページをもう一度開いてください。'));
出る
}
$user_id = $_SESSION['zaszh_user_id'];*/
$user_id = 1 // テスト用
;
// ターンテーブルエリア
$arr_area = array(
'0' => 配列('min_angle'=>1,'max_angle'=>45,'prize'=>'Xiaomi'),
'1' => 配列('min_angle'=>46,'max_angle'=>90,'prize'=>'ポラロイド'),
'2' => array('min_angle'=>91,'max_angle'=>135,'賞品'=>'電話代10元'),
'3' => array('min_angle'=>136,'max_angle'=>180,'賞品'=>'電話代5元'),
'4' => array('min_angle'=>181,'max_angle'=>225,'賞品'=>'ご参加いただきありがとうございました'),
'5' => array('min_angle'=>226,'max_angle'=>270,'賞品'=>'ご参加いただきありがとうございました'),
'6' => array('min_angle'=>271,'max_angle'=>315,'賞品'=>'ご参加いただきありがとうございました'),
'7' => array('min_angle'=>316,'max_angle'=>360,'賞品'=>'ご参加いただきありがとうございます')
);
// 選択したエリア
$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];
ケース 2: $area_selected = $arr_area[5];
ケース 3: $area_selected = $arr_area[6];
ケース 4: $area_selected = $arr_area[7];
}
休憩
}
エコー $area_selected['賞品'];
require('connect_database.php');
// 解答点を減点します
$mysqli->query("update zaszh_user setanswer_points=answer_points-5 where id='{$user_id}' andanswer_points>=5");
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()))");
switch($area_selected['賞品']){
ケース「Xiaomi」:
$mysqli->query("update zaszh_prize_surplus set 剰余=surplus-1 where 賞='Xiaomi' および剰余>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'=>'success','msg'=>'Xiaomi'));
}その他{
// 勝利に失敗しました
}
}その他{
//何も残らない
}
休憩
ケース「ポラロイド」:
$mysqli->query("update zaszh_prize_surplus set 余剰 = 余剰 -1 、賞金 = 'ポラロイド' および余剰 > 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('ステータス'=>'成功','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){
echo json_encode(array('status'=>'success','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'=>'success','msg'=>'ご参加いただきありがとうございます'));
}
}その他{
// ポイントはありません
echo json_encode(array('status'=>'error','msg'=>'ポイントが不足しています。'));
}
$mysqli->close();
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。
http://www.bkjia.com/PHPjc/956403.html
www.bkjia.comtruehttp://www.bkjia.com/PHPjc/956403.html技術記事 PHP ルーレット宝くじインターフェイスの例 この記事では、主に PHP ルーレット宝くじインターフェイスの実装方法を紹介し、ランダム宝くじインターフェイスの実装原理とそれに対応するデータベース操作スキルを分析します。