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

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

QA

게시판 글을 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 에 등록시에 내용입니다
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}'");
게시글 증가를 해주셔야 리스트에 정상적으로 번호가 나옵니다
안하시고 게시판 관리자에서 게시글 수 확인하실수도 있습니다.

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

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

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

 

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

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

 

 

 

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

글을 db에 insert는 쿼리만 다룰수있으면 해결이 됩니다

 

그러나, 

wr_num 을 넣는 방법을 

 

get_next_num 함수를 참고해서 처리하셔야합니다.

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 12
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT