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