최신글 안나오는 문제
본문
아래 코드처럼 write_update.php 를 거치지 않고 직접 글쓰기를 하는데요.
글등록은 정상적으로 되는데 최신글(latest)에 나오지 않습니다.
게시판 관리에서 카운트 조정을 하면 최신글 출력이 됩니다.
며칠 $wr_num, $wr_id, wr_parent 에 관해 찾아보았는데 아직 해결책을 찾지 못했습니다.
// 회원가입과 함께 글쓰기
$xwrite_table = "b_etc"; //넣을 테이블명
$xca_name = ""; //카테고리가 있다면 카테고리명
$xwr_option = ""; //옵션
$xwr_subject = "$mb_name"; // 이름이 아니라 닉으로 했다면 닉으로 바꿈.
$xwr_content = ""; //내용 넣는부분
$xwr_link1 = ""; //있으면 넣으시고 없으시면 패스
$xwr_link2 = ""; //있으면 넣으시고 없으시면 패스
$xwr_password = ""; //비번은 설정하셔도 되고 아니면 패스. 근데 게시판보니까 비번은 거세요.
$xwr_name = "$mb_name"; //글쓴사람인데 관리자면 admin이라던가.. 회원명으로 하시려면 $mb_name
$xwr_email = ""; // 회원명으로 할경우라면 위에있는 $mb_email 을 사용. 봇개념이면 걍 아무거나 넣어도 상관은...
$xwr_homepage = ""; //사용하려면 $mb_homepage로 대입하면 된다.
$xwr_1 = ""; //스킨에 wr_넘버 를 사용하는거라면 그거에 맞게 항목으로 넣으세요.
$xwr_2 = "";
$xwr_3 = "";
$xwr_4 = "";
$xwr_5 = "";
$xwr_6 = "" ;
$xwr_7 = "" ;
$xwr_8 = "" ;
$xwr_9 = "" ;
$xwr_10 = "";
$xwr_num = get_next_num($xwrite_table);
$xwr_reply = "";
$sql = " insert into $xwrite_table
set wr_num = '$xwr_num',
wr_reply = '$xwr_reply',
wr_comment = 0,
ca_name = '$xca_name',
wr_option = '$html,$secret,$mail',
wr_subject = '$xwr_subject',
wr_content = '$xwr_content',
wr_link1 = '$xwr_link1',
wr_link2 = '$xwr_link2',
wr_link1_hit = 0,
wr_link2_hit = 0,
wr_hit = 0,
wr_good = 0,
wr_nogood = 0,
mb_id = '{$mb_id}',
wr_password = '$xwr_password',
wr_name = '$xwr_name',
wr_email = '$xwr_email',
wr_homepage = '$xwr_homepage',
wr_datetime = '".G5_TIME_YMDHIS."',
wr_last = '".G5_TIME_YMDHIS."',
wr_ip = '{$_SERVER['REMOTE_ADDR']}',
wr_1 = '$xwr_1',
wr_2 = '$xwr_2',
wr_3 = '$xwr_3',
wr_4 = '$xwr_4',
wr_5 = '$xwr_5',
wr_6 = '$xwr_6',
wr_7 = '$xwr_7',
wr_8 = '$xwr_8',
wr_9 = '$xwr_9',
wr_10 = '$xwr_10' ";
sql_query($sql);
$xwr_id = sql_insert_id(); //쓴사람의 아이디인데... 봇개념이면 1(관리자)넣으셔도.. 개인이 글쓴모양새라면 약간 로직추가.
// 부모 아이디에 UPDATE
sql_query("update $xwrite_table set wr_parent = '$xwr_id' where wr_id = '$xwr_id'");
// 새글 INSERT
$bo_table = "b_etc"; //해당 테이블관련 저는 테스트로 자유게시판에 꼽습니다.
sql_query(" insert into {$g5['board_new_table']} ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '{$bo_table}', '{$xwr_id}', '{$xwr_id}', '".G5_TIME_YMDHIS."', '{$member['mb_id']}' ) ");
// 게시글 1 증가
sql_query("update {$g5['board_table']} set bo_count_write = bo_count_write + 1 where bo_table = '{$bo_table}'");
!-->!-->
답변 2
최신글은 처음 실행하면 data/cache폴더에 캐시파일이 자동 생성하는거 같은데요 ,,
정상적인 방법으로 글쓰기는 글등록완료와 동시에 캐시파일을 지우므로 최신글을 출력할때 다시 캐시 파일이 생성되죠 ,한마디로 캐시때문에 생긴문제 같습니다.
소스 제일 밑에 delete_cache_latest($bo_table); 이 걸넣어주심 될거 같습니다.
65라인에 보면
sql_query(" insert into {$g5['board_new_table']} ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '{$bo_table}', '{$xwr_id}', '{$xwr_id}', '".G5_TIME_YMDHIS."', '{$member['mb_id']}' ) ");
즉, g5_board_new 테이블에 정상적으로 DB에 저장이 되는지 확인해보세요.
!-->
답변을 작성하시기 전에 로그인 해주세요.