경매게시판 포인트 차감 질문좀요
본문
아래 소스에서 //낙찰시 금액 차감 하기
인데 경매에 건 금액뿐 아니라 그전의 금액들도 모두다 나가버리네요..
경매 하나에 걸었음 그금액만 빠져야 하는데
그전에 건 금액들 모두 합산해서 나가버리네요..
//낙찰시 금액 차감 하기 여기 부분을 어떻게 수정해야 할까요
// 경매의 낙찰 여부 검사 및 업데이트
function auction_successful($wr_id) {
global $g5, $write_table, $tender_table, $auction, $write, $board, $member, $bo_table;
// 나중에 등록한 게시물의 종료시간이 더 짧으면 모두 종료되는 오류 수정
//if (!$auction)
$auction = get_info_auction($wr_id);
// 경매상태 조회 - 이미 종료되었으면 return
if ($auction[status] > 1) return false;
// 경매가 시작전이면 return
if ($auction[start_datetime] > G5_TIME_YMDHIS) return false;
// 경매날짜를 비교하여 진행중일경우 return
if ($auction[start_datetime] < G5_TIME_YMDHIS && $auction[end_datetime] > G5_TIME_YMDHIS) return false;
// 최저로 입찰된 내역을 조회
$row = sql_fetch(" select td_tender_point as point, count(td_tender_point) as cnt from $tender_table where wr_id = '$wr_id' group by td_tender_point order by cnt, td_tender_point limit 1 ");
// 중복되었거나 입찰내역이 없을 경우 유찰
if ($row[cnt] > 1 || !$row) {
sql_query(" update $write_table set wr_8 = '3' where wr_id = '$wr_id' ");
$res = sql_fetch(" select wr_7, wr_8, wr_9, wr_10 from $write_table where wr_id = '$wr_id' ");
return $res;
} else {
// 낙찰된 입찰정보 가져오기
$row = sql_fetch(" select * from $tender_table where td_tender_point = '$row[point]' and wr_id = '$wr_id' ");
sql_query(" update $write_table set wr_8 = '2', wr_9 = '$row[td_tender_point]', wr_10 = '$row[mb_id]' where wr_id = '$wr_id' ");
//낙찰시 금액 차감 하기
insert_point($row['mb_id'], -$row['td_tender_point'], "{$wr_id} 낙찰{$row[td_tender_point]}", $bo_table, $wr_id, "낙찰 : ".G5_TIME_YMDHIS." ".get_microtime());
$res = sql_fetch(" select wr_7, wr_8, wr_9, wr_10 from $write_table where wr_id = '$wr_id' ");
return $res;
}
}
답변 1
코드에서,
'낙찰시 차감하는 금액'은 -$row['td_tender_point'] 입니다.
$row['td_tender_point'] 는,
$row = sql_fetch(" select td_tender_point as point, count(td_tender_point) as cnt from $tender_table where wr_id = '$wr_id' group by td_tender_point order by cnt, td_tender_point limit 1 ");
에서 추출하고 있습니다.
select td_tender_point as point, count(td_tender_point) as cnt from $tender_table where wr_id = '$wr_id' group by td_tender_point order by cnt, td_tender_point limit 1
쿼리가 "합산되는 금액"을 추출하고 있는지를 살펴봐야 될 것 같습니다.
답변을 작성하시기 전에 로그인 해주세요.