맴버 여분 필드에 db 저장 질문
본문
chatgpt랑 그누보드 질문 게시판 참조해서 이모티콘샵 기능을 만들고 있습니다.
g5_member 테이블에 emoticon1부터 emoticon20까지의 여분 필드를 생성했습니다.
예를 들어, 사용자가 emoticon1을 구매하면 해당 이모티콘의 가격만큼 포인트가 차감되고,
emoticon1 필드에 숫자 1
을 넣어서 구매한 이모티콘과 구매하지 않은 이모티콘을 구별하려고 합니다.
포인트 차감 부분은 문제없이 동작하지만 여분 필드에 숫자가 들어가지 않습니다.
무엇이 문제일까요?
<?php
$emojis = [
["id" => "emoticon1", "image" => "emoji1.png", "price" => 50],
["id" => "emoticon2", "image" => "emoji2.png", "price" => 100],
["id" => "emoticon3", "image" => "emoji3.png", "price" => 150],
["id" => "emoticon4", "image" => "emoji4.png", "price" => 75],
["id" => "emoticon5", "image" => "emoji5.png", "price" => 125],
["id" => "emoticon6", "image" => "emoji6.png", "price" => 60],
["id" => "emoticon7", "image" => "emoji7.png", "price" => 90],
["id" => "emoticon8", "image" => "emoji8.png", "price" => 110],
["id" => "emoticon9", "image" => "emoji9.png", "price" => 85],
["id" => "emoticon10", "image" => "emoji10.png", "price" => 95],
["id" => "emoticon11", "image" => "emoji11.png", "price" => 70],
["id" => "emoticon12", "image" => "emoji12.png", "price" => 105],
["id" => "emoticon13", "image" => "emoji13.png", "price" => 130],
["id" => "emoticon14", "image" => "emoji14.png", "price" => 150],
["id" => "emoticon15", "image" => "emoji15.png", "price" => 50],
["id" => "emoticon16", "image" => "emoji16.png", "price" => 120],
["id" => "emoticon17", "image" => "emoji17.png", "price" => 140],
["id" => "emoticon18", "image" => "emoji18.png", "price" => 160],
["id" => "emoticon19", "image" => "emoji19.png", "price" => 100],
["id" => "emoticon20", "image" => "emoji20.png", "price" => 170]
];
$mb = get_member($member['mb_id']);
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$emojiId = $_POST['emoji_id'];
$emojiPrice = intval($_POST['emoji_price']);
if ($mb['mb_point'] >= $emojiPrice) {
// Update points
$point = -$emojiPrice; // 포인트 설정
$content = '이모티콘 구매 차감';
// insert_point 함수 호출로 포인트 차감
insert_point($member['mb_id'], $point, $content, '@passive', 'emotion' . uniqid(), 'emoticon_buy');
// Update user's emoticon column
$mb[$emojiId] = 1;
sql_query("UPDATE $g5_member SET $emojiId = 1 WHERE mb_id = '{$member['mb_id']}'");
echo "<script>alert('Purchase successful!');</script>";
} else {
echo "<script>alert('Not enough coins!');</script>";
}
}
foreach ($emojis as $emoji) {
echo "<div class='emoji-item'>";
echo "<img class='emoji' src='images/{$emoji['image']}' alt='Emoji'>";
echo "<p>Price: {$emoji['price']} coins</p>";
if (isset($mb[$emoji['id']]) && $mb[$emoji['id']] == 1) {
echo "<button class='bought-btn'>Already Purchased</button>";
} else {
echo "<form method='POST'>";
echo "<input type='hidden' name='emoji_id' value='{$emoji['id']}'>";
echo "<input type='hidden' name='emoji_price' value='{$emoji['price']}'>";
echo "<button type='submit' class='buy-btn'>Buy</button>";
echo "</form>";
}
echo "</div>";
}
?>
답변을 작성하시기 전에 로그인 해주세요.