테스트 사이트 - 개발 중인 베타 버전입니다

게시판 글을 DB에서 직접 입력하는 방법 채택완료

게시글을 웹페이지에서 작성/입력하지 않고, DB에 쿼리로 입력하고자 합니다.

 

글순번은 자동증가인것 같아서, 그걸 제외하고 다른 내용을 입력하자니,

제목/내용 외에 기타 정보들이 많아서 어떤부분을 필수(?)로 입력해야 하는데, 어떤 부분은 입력하지 않아도 괜찮은지

궁금한데요.

 

이 작업을 기존에 해보신 분들 팁좀 부탁드립니다.

 

매일 동일한 시간에 게시판에 글을 작성하여 올리기 위한 용도이고, php로 작성예정입니다. 

댓글을 작성하려면 로그인이 필요합니다.

답변 4개

채택된 답변
+20 포인트

제가 작업할때 쓰는 내용입니다

wr_num, wr_id, wr_parent 이름 패스워드 제목 내용 글쓴이 날짜 들어가면 되십니다.

 

//테이블 명을 정의하시고

$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개

뜨엇. 상세한 답변 감사드립니다. 한번 시도해 보겠습니다.
단순히 쿼리를 하나 날리는 것으로 생각했는데, 이렇게 하는 것하고 어떤 차이가 있을까요? 초보라..
위에부분이 bbs/write_update.php 에 등록시에 내용입니다
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개

wr_num은 자동증가니까 그냥 값을 입력하지 않으면 되는것이 아니고, get_next_num 함수를 참고해서 추가로 작업해야 하는건가요?

댓글을 작성하려면 로그인이 필요합니다.

DB 값을 등록하시는데 필수값은 자동증가값 외에 DB 컬럼에서 NULL이 허용되어 있는 부분이라면 등록하시는 부분에 제약은 없습니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

답변 감사드립니다. 기본적으로는 그렇게 이해하면 되는 거군요.

댓글을 작성하려면 로그인이 필요합니다.

그누보드의 글쓰기 페이지를 통하지 않고 데이터베이스 게시판 테이블에 글을 올리실려면

별다른 제약은 없을텐데요.

그누보드 글쓰기 페이지를 통하는 경우에는 제목과 내용은 필수입력 사항이지만요.

 

더 정확한 것은 게시판 글쓰기 내용을 데이터베이스에 저장하는 역할을 하는

bbs / write_update.php 파일을 참조해 보시죠.

 

 

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

답변 감사드립니다. bbs/write_update.php 참고해 보겠습니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인

전체 질문 목록