게시판 글을 DB에서 직접 입력하는 방법 채택완료
게시글을 웹페이지에서 작성/입력하지 않고, DB에 쿼리로 입력하고자 합니다.
글순번은 자동증가인것 같아서, 그걸 제외하고 다른 내용을 입력하자니,
제목/내용 외에 기타 정보들이 많아서 어떤부분을 필수(?)로 입력해야 하는데, 어떤 부분은 입력하지 않아도 괜찮은지
궁금한데요.
이 작업을 기존에 해보신 분들 팁좀 부탁드립니다.
매일 동일한 시간에 게시판에 글을 작성하여 올리기 위한 용도이고, php로 작성예정입니다.
답변 4개
제가 작업할때 쓰는 내용입니다
wr_num, wr_id, wr_parent 이름 패스워드 제목 내용 글쓴이 날짜 들어가면 되십니다.
<?php
include_once('./_common.php');
//테이블 명을 정의하시고
$bo_table=""; //테이블 정의
$write_table = $g5['write_prefix'].$bo_table
if($member[mb_id])
{
$mb_id = $member[mb_id];
$wr_name = $member[mb_name];;
$wr_password = $member[mb_password];
$wr_email =$member[mb_email];
}
else{
//비회원접속이면 해당 내용을 넣어 주시고요
$mb_id = "admin";
$wr_name = "최고관리자";
$wr_password = get_encrypt_string($wr_password); //비밀번호
$wr_email = "admin@domain.com";
}
$counter=5;
for($i=0;$i<$counter;$i++)
{
$wr_num = get_next_num($write_table);
//제목 내용을 변경해 주시면 됩니다
$sql="insert into g5_write_cate set
wr_id=''
wr_num = '{$wr_num}',
wr_comment = 0,
wr_subject = '제목',
wr_content = '내용',
wr_hit = 0,
wr_good = 0,
wr_nogood = 0,
mb_id = '{$mb_id}',
wr_password = '$wr_password',
wr_name = '$wr_name',
wr_email = '$wr_email',
wr_datetime = '".G5_TIME_YMDHIS."',
wr_last = '".G5_TIME_YMDHIS."',
wr_ip = '{$_SERVER['REMOTE_ADDR']}' ";
sql_query($sql);
$wr_id = sql_insert_id();
// 부모 아이디에 UPDATE
sql_query(" update $write_table set wr_parent = '$wr_id' where wr_id = '$wr_id' ");
// 새글 INSERT
sql_query(" insert into {$g5['board_new_table']} ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '{$bo_table}', '{$wr_id}', '{$wr_id}', '".G5_TIME_YMDHIS."', '{$member['mb_id']}' ) ");
}
// 게시글 증가
sql_query("update {$g5['board_table']} set bo_count_write = bo_count_write + $i where bo_table = '{$bo_table}'");
답변에 대한 댓글 4개
if($member[mb_id]) 부분은 등록 정보를 정의하는 부분입니다 없어도 상관은 없지만
리스트에 wr_name 은 노출되시거나 mb_id는 회원아이디로 검색이 되십니다
$wr_num = get_next_num($write_table); 부분은 wr_num 은 고유번호로 검색에 필요합니다
등록시에 실질적으로
$sql="insert into g5_write_cate set
wr_id=''
wr_num = '{$wr_num}',
wr_subject = '제목',
wr_content = '내용',
mb_id = '{$mb_id}',
wr_password = '$wr_password',
wr_name = '$wr_name',
wr_datetime = '".G5_TIME_YMDHIS."',
wr_last = '".G5_TIME_YMDHIS."' ";
sql_query($sql);
만 있으시면 됩니다
$wr_id = sql_insert_id(); //wr_id 는 자동 증가이므로 해당 아이디를 구하십니다
// 부모 아이디에 UPDATE
sql_query(" update $write_table set wr_parent = '$wr_id' where wr_id = '$wr_id' ");
부분은 wr_parent 와 wr_id 맞추어 주어야 댓글이 아나고 원글이라는 표시라고 보시면 됩니다
sql_query(" insert into {$g5['board_new_table']} ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '{$bo_table}', '{$wr_id}', '{$wr_id}', '".G5_TIME_YMDHIS."', '{$member['mb_id']}' ) ");
해당 새글리스트에 등록시켜 줍니다 검색부분에 활용됩니다
sql_query("update {$g5['board_table']} set bo_count_write = bo_count_write + $i where bo_table = '{$bo_table}'");
게시글 증가를 해주셔야 리스트에 정상적으로 번호가 나옵니다
안하시고 게시판 관리자에서 게시글 수 확인하실수도 있습니다.
자세한 설명 다시한번 감사 드립니다.
댓글을 작성하려면 로그인이 필요합니다.
글을 db에 insert는 쿼리만 다룰수있으면 해결이 됩니다
그러나,
wr_num 을 넣는 방법을
get_next_num 함수를 참고해서 처리하셔야합니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
단순히 쿼리를 하나 날리는 것으로 생각했는데, 이렇게 하는 것하고 어떤 차이가 있을까요? 초보라..