게시판 글을 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 = "*** 개인정보보호를 위한 이메일주소 노출방지 ***";
}
$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}'");
그누보드의 글쓰기 페이지를 통하지 않고 데이터베이스 게시판 테이블에 글을 올리실려면
별다른 제약은 없을텐데요.
그누보드 글쓰기 페이지를 통하는 경우에는 제목과 내용은 필수입력 사항이지만요.
더 정확한 것은 게시판 글쓰기 내용을 데이터베이스에 저장하는 역할을 하는
bbs / write_update.php 파일을 참조해 보시죠.
DB 값을 등록하시는데 필수값은 자동증가값 외에 DB 컬럼에서 NULL이 허용되어 있는 부분이라면 등록하시는 부분에 제약은 없습니다.
글을 db에 insert는 쿼리만 다룰수있으면 해결이 됩니다
그러나,
wr_num 을 넣는 방법을
get_next_num 함수를 참고해서 처리하셔야합니다.