추천기능을 따로 good2.php로 제작했는데 문제가 있어요 ㅠㅠ
본문
제목처럼 good2.php를 따로 제작해서 다른 추천기능과 다르게 취소기능을 만들어 넣었는데요.
테이블도 따로 쓰려고 g5_board_good 테이블을 구조만 복사해서 g5_cancel 테이블을 제작했어요.
그리고 good2.php 안에 있는 소스중 board_good 부분을 cancel로 변경했는데 적용이 안되네요 ㅠㅠ
또 변경할게 남은건가요..? 왜 적용이 안될까요..? 도와주세요 ㅠㅠ
<?php
include_once('./_common.php');
@include_once($board_skin_path.'/good.head.skin.php');
// 자바스크립트 사용가능할 때
if($_POST['js'] == "on") {
$error = $count = "";
function print_result($error, $count)
{
echo '{ "error": "' . $error . '", "count": "' . $count . '" }';
if($error)
exit;
}
if (!$is_member)
{
$error = '회원만 가능합니다.';
print_result($error, $count);
}
if (!($bo_table && $wr_id)) {
$error = '값이 제대로 넘어오지 않았습니다.';
print_result($error, $count);
}
$ss_name = 'ss_view_'.$bo_table.'_'.$wr_id;
if (!get_session($ss_name)) {
$error = '해당 게시물에서만 추천 또는 비추천 하실 수 있습니다.';
print_result($error, $count);
}
$row = sql_fetch(" select count(*) as cnt from {$g5['write_prefix']}{$bo_table} ", FALSE);
if (!$row['cnt']) {
$error = '존재하는 게시판이 아닙니다.';
print_result($error, $count);
}
if ($good == 'good' || $good == 'nogood')
{
if($write['mb_id'] == $member['mb_id']) {
$error = '자신의 글에는 추천 또는 비추천 하실 수 없습니다.';
print_result($error, $count);
}
if (!$board['bo_use_good'] && $good == 'good') {
$error = '이 게시판은 추천 기능을 사용하지 않습니다.';
print_result($error, $count);
}
if (!$board['bo_use_nogood'] && $good == 'nogood') {
$error = '이 게시판은 비추천 기능을 사용하지 않습니다.';
print_result($error, $count);
}
$sql = " select bg_flag from {$g5['cancel_table']}
where bo_table = '{$bo_table}'
and wr_id = '{$wr_id}'
and mb_id = '{$member['mb_id']}'
and bg_flag in ('good', 'nogood') ";
$row = sql_fetch($sql);
if ($row['bg_flag'])
{
if ($row['bg_flag'] == 'good')
$status = '추천';
else
$status = '비추천';
$error = "이미 $status 하신 글 입니다.";
print_result($error, $count);
}
else
{
// 추천(찬성), 비추천(반대) 카운트 증가
sql_query(" update {$g5['write_prefix']}{$bo_table} set wr_{$good} = wr_{$good} + 1 where wr_id = '{$wr_id}' ");
// 내역 생성
sql_query(" insert {$g5['cancel_table']} set bo_table = '{$bo_table}', wr_id = '{$wr_id}', mb_id = '{$member['mb_id']}', bg_flag = '{$good}', bg_datetime = '".G5_TIME_YMDHIS."' ");
$sql = " select wr_{$good} as count from {$g5['write_prefix']}{$bo_table} where wr_id = '$wr_id' ";
$row = sql_fetch($sql);
$count = $row['count'];
print_result($error, $count);
}
}
} else {
include_once(G5_PATH.'/head.sub.php');
if (!$is_member)
{
$href = './login.php?'.$qstr.'&url='.urlencode('./board.php?bo_table='.$bo_table.'&wr_id='.$wr_id);
alert('회원만 가능합니다.', $href);
}
if (!($bo_table && $wr_id))
alert('값이 제대로 넘어오지 않았습니다.');
$ss_name = 'ss_view_'.$bo_table.'_'.$wr_id;
if (!get_session($ss_name))
alert('해당 게시물에서만 추천 또는 비추천 하실 수 있습니다.');
$row = sql_fetch(" select count(*) as cnt from {$g5['write_prefix']}{$bo_table} ", FALSE);
if (!$row['cnt'])
alert('존재하는 게시판이 아닙니다.');
if ($good == 'good' || $good == 'nogood')
{
if($write['mb_id'] == $member['mb_id'])
alert('자신의 글에는 추천 또는 비추천 하실 수 없습니다.');
if (!$board['bo_use_good'] && $good == 'good')
alert('이 게시판은 추천 기능을 사용하지 않습니다.');
if (!$board['bo_use_nogood'] && $good == 'nogood')
alert('이 게시판은 비추천 기능을 사용하지 않습니다.');
$sql = " select bg_flag from {$g5['cancel_table']}
where bo_table = '{$bo_table}'
and wr_id = '{$wr_id}'
and mb_id = '{$member['mb_id']}'
and bg_flag in ('good', 'nogood') ";
$row = sql_fetch($sql);
if ($row['bg_flag'])
{
if ($row['bg_flag'] == 'good')
$status = '추천';
else
$status = '비추천';
alert("이미 $status 하신 글 입니다.");
}
else
{
// 추천(찬성), 비추천(반대) 카운트 증가
sql_query(" update {$g5['write_prefix']}{$bo_table} set wr_{$good} = wr_{$good} + 1 where wr_id = '{$wr_id}' ");
// 내역 생성
sql_query(" insert {$g5['cancel_table']} set bo_table = '{$bo_table}', wr_id = '{$wr_id}', mb_id = '{$member['mb_id']}', bg_flag = '{$good}', bg_datetime = '".G5_TIME_YMDHIS."' ");
if ($good == 'good')
$status = '추천';
else
$status = '비추천';
$href = './board.php?bo_table='.$bo_table.'&wr_id='.$wr_id;
alert("이 글을 $status 하셨습니다.", '', false);
}
}
}
@include_once($board_skin_path.'/good.tail.skin.php');
?>
답변 1
질문하실때 증상이나 오류에 대한 상세한 설명을 주셔야 답변을 받으실수 있을 겁니다.
올려 놓으신 소스만 가지고는 뭐라 설명 드리기 그렇습니다.
파일명 변경하고 테이블만 만든다고 모든 기능이 되는건 아닙니다.
g5['board_good_table']이 왜 g5_board_good 인지 먼저 파악을 하셔야 할거 같으네요.
일단 테이블 부분에 대한 답변만 드릴께요.
/data/dbconfig.php 파일 열어 보시면
$g5['board_good_table'] = G5_TABLE_PREFIX.'board_good'; // 게시물 추천,비추천 테이블
이줄 아래에 님이 쓰실 테이블도 정의를 하셔야 님이 수정하신 것처럼 쓰실수 있습니다.
$g5['board_good_table'] = G5_TABLE_PREFIX.'board_good'; // 게시물 추천,비추천 테이블
$g5['board_cancel_table'] = G5_TABLE_PREFIX.'cancel'; // 추가하신 테이블
이렇게요.
!-->!-->
답변을 작성하시기 전에 로그인 해주세요.