insert_point 어떻하면 계속 삽입할 수 있나요. 채택완료
제가 그누보드를 잘 몰라서 질문드립니다.
도대체 뱅글뱅글 돌려놔서 ㅋ
고수님 알려주세요.
질문은 다음과 같습니다.
insert_point 함수로 값을 보내는데, 계속 입력이 되지 않고 있습니다.
계속 입력되게 할려면 어떻게 해야 하나요?
쉽게 해결 방법이 없는가요?
<?php
include_once('./_common.php');
// POST 데이터 받기
$winner_name = $_POST['winner_name'];
$loser_name = $_POST['loser_name'];
$winner_point = 100; // 지급 포인트
$loser_point = -100; // 차감 포인트
insert_point(
$winner_name,
$winner_point,
'오목 배틀게임 승리 포인트',
'omok',
$winner_score,
'win'
);
// 패자 포인트 차감
insert_point(
$loser_name,
$loser_point,
'오목 배틀게임 패배 포인트',
'omok',
$loser_score,
'lose'
);
echo "포인트 처리 완료";
답변 2개
아래의 내용도 한번 참고를 해보세요..
1. 매 게임마다 고유한 ID를 생성
<?php
include_once('./_common.php');
// POST 데이터 받기
$winner_name = $_POST['winner_name'];
$loser_name = $_POST['loser_name'];
$winner_point = 100;
$loser_point = -100;
// 고유한 게임 ID 생성 (타임스탬프 + 랜덤)
$game_id = time() . '_' . uniqid();
// 승자 포인트 지급
insert_point(
$winner_name,
$winner_point,
'오목 배틀게임 승리 포인트',
'omok',
$game_id, // 고유 ID 사용
'win_' . $game_id // 액션도 고유하게
);
// 패자 포인트 차감
insert_point(
$loser_name,
$loser_point,
'오목 배틀게임 패배 포인트',
'omok',
$game_id, // 같은 게임 ID
'lose_' . $game_id // 액션은 다르게
);
echo "포인트 처리 완료";
?>
2. 시간 기반 고유값 사용
// 마이크로초까지 포함한 타임스탬프
$unique_id = microtime(true) . '_' . mt_rand();
insert_point(
$winner_name,
$winner_point,
'오목 배틀게임 승리 포인트',
'omok',
$unique_id,
'win'
);
3. DB에 게임 번호를 저장하고 증가시키는 방법
// 마지막 게임 번호 조회 후 +1
$sql = "SELECT MAX(CAST(SUBSTRING_INDEX(po_rel_id, '_', -1) AS UNSIGNED)) as max_game
FROM {$g5['point_table']}
WHERE po_rel_table = 'omok'";
$row = sql_fetch($sql);
$game_number = ($row['max_game'] ?? 0) + 1;
$game_id = 'game_' . $game_number;
insert_point(
$winner_name,
$winner_point,
'오목 배틀게임 승리 포인트',
'omok',
$game_id,
'win'
);
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
같은 값이 있으면 들어가지 않아서 오목 배틀게임 제목부분이나 omok lose 중에 하나를 고유값으로 겹치지 않게 해주시면 됩니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인