다중 게시글입력 쿼리질문

다중 게시글입력 쿼리질문

QA

다중 게시글입력 쿼리질문

본문

a게시판에 자동으로 글을등록중입니다
b게시판에 같은제목의 게시글에 wr_last를 a에등록될때 b에 업데이트해주기위해 아래쿼리를 작성햇는데
현제는 a게시판에 글이등록이되면 b게시판의 a게시판제목과 같은제목의글에 wr_last가등록안되고
b게시판 전체wr_last가업데이트됨니다. 

같은제목의 글에만 wr_last가업데이트되게하려면 어디를수정해줘야되는지여
고수님들 한수부탁드립니다.


48번열부터 세로작성한쿼리입니다.

	// 변수 정리
	$bo_table = $newpost[bo_table];
	$write_table = $g5[write_prefix] . $bo_table;
	$wr_num = get_next_num($write_table);
	$ca_name = addslashes($ca_name);
	$html = "html1"; // 이 값은 필요에 맞게 설정
	$wr_subject = addslashes(trim($newpost[wr_subject]));
	$wr_content = addslashes(trim($newpost[wr_content]));
	$mb_id = $mb[mb_id];
	$wr_password = $mb[mb_password];
	$wr_name = $bo[bo_use_name] ? $mb[mb_name] : $mb[mb_nick];
	for($i=1; $i<=10; $i++) { // 확장필드도 입력
		$wr = "wr_{$i}";
		${$wr} = addslashes($newpost[$wr]);
	}
	$wr_link1 = $newpost[wr_link1];
	$wr_link2 = $newpost[wr_link2];

	// 글 입력하기
    $sql = " insert into $write_table
                set wr_num = '$wr_num',
                    wr_comment = 0,
                    ca_name = '$ca_name',
                    wr_subject = '$wr_subject',
                    wr_content = '$wr_content',
                    wr_link1 = '$wr_link1',
                    wr_link2 = '$wr_link2',
                    mb_id = '$mb_id',
                    wr_datetime = '".G5_TIME_YMDHIS."' ,
                    wr_last = '".G5_TIME_YMDHIS."' ";
    sql_query($sql);
    $wr_id = mysql_insert_id();

    // 부모 아이디에 UPDATE
    sql_query(" update $write_table set wr_parent = '$wr_id' where wr_id = '$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."' , '$mb[mb_id]' ) ");

    // 게시글 1 증가
    sql_query("update $g5[board_table] set bo_count_write = bo_count_write + 1 where bo_table = '$bo_table'");

	// *   여기가 세로작성한 쿼리문입니다 *//

// 복사할 타겟 bo_table 가져오기
$temp1 = sql_fetch("select bo_3 from `$g5[board_table]` where bo_table='$bo_table'");
$tar_bo_table = $temp1[bo_3];

// 글 입력부
	$write_table = $g5['write_prefix'] . $tar_bo_table;
	$wr_num = get_next_num($write_table);
	if(!strlen($mb_id)) $mb_id = $write[mb_id];
	$mb = get_member($mb_id);
	for($i=1; $i<=10; $i++) {
		$var = "wr_".$i;
		${$var} = addslashes($write[$var]);
	}
	$sql = " update  $write_table 
                set    wr_last = '".G5_TIME_YMDHIS."' ";
	sql_query($sql);


    // 부모 아이디에 UPDATE
    sql_query(" update $write_table set wr_parent = '$new_wr_last' where wr_last = '$new_wr_last' ");

    // 새글 INSERT
	// 최신글 삽입
	// 성공하면 글번호를 return;
    return $wr_id;
}
?>

이 질문에 댓글 쓰기 :

답변 6

// 복사할 타겟 bo_table 가져오기
$temp1 = sql_fetch("select bo_3 from `$g5[board_table]` where bo_table='$bo_table'");
$tar_bo_table = $temp1[bo_3];
위코드에 bo_3 에 값이 뭐가 들어가 있죠?
게시판설정에서 예비필드 3같은데.....
혹 bo_3 에 movie 란 단어가 들어가 잇다면

// 글 입력부
$write_table1 = $g5['write_prefix'] . $tar_bo_table;
$wr_num = get_next_num($write_table);
if(!strlen($mb_id)) $mb_id = $write[mb_id];
$mb = get_member($mb_id);
for($i=1; $i<=10; $i++) {
$var = "wr_".$i;
${$var} = addslashes($write[$var]);
}

$sql = " update $write_table1 set wr_last = '".G5_TIME_YMDHIS."' where wr_subject = '$wr_subject' ";
sql_query($sql);
 
이렇게 해도......근데 빨간부분이 뭔지는 모르겠네요......
신비나라님의 동영상게시판을 g5로사용중입니다.
동영상주소를 다른테이블에서 읽어와서 보여주는 방식인데 .


서로다른게시판이두개있습니다
data테이블에 게시물이올라오면 movie테이블에서 data테이블에서 같은제목 게시글과 wr_last동일하게  수정해주고싶어서요 

movie테이블에서 최신글정렬을위해서 해주려구합니다. 


111.png
 

// * 여기가 세로작성한 쿼리문입니다 *//


// 복사할 타겟 bo_table 가져오기
$temp1 = sql_fetch("select bo_3 from `$g5[board_table]` where bo_table='$bo_table'");
$tar_bo_table = $temp1[bo_3];


// 글 입력부
$write_table = $g5['write_prefix'] . $tar_bo_table;
$wr_num = get_next_num($write_table);
if(!strlen($mb_id)) $mb_id = $write[mb_id];
$mb = get_member($mb_id);
for($i=1; $i<=10; $i++) {
$var = "wr_".$i;
${$var} = addslashes($write[$var]);
}
$sql = " update $write_table
 set wr_last = '".G5_TIME_YMDHIS."' ";
sql_query($sql);




 // 부모 아이디에 UPDATE
 sql_query(" update $write_table set wr_parent = '$new_wr_last' where wr_last = '$new_wr_last' ");

새로넣으신 해당 코드가 어떤 기능인지는 모르겠으나
질문하신분의 의도데로 data 테이블에 글을 등록시?
movie 테이블에 같은 제목의 게시물의 wr_last 의 날짜를 data에 새로 등록한 게시물의 등록 날짜로 하고 싶다는 말씀인가요?
$new_wr_last 에는 값이 없는거 같은데;;;;

if ($bo_table == "data") {
$movie_table = $g5['write_prefix']."movie";
sql_query(" update $movie_table set wr_last= '".G5_TIME_YMDHIS."' where wr_subject = '$wr_subject' ");
}

이렇게인거 같은데요......
즉 위에서 data테이블에서 새글을 등록하였다면 movie 테이블에 동일한 제목의 게시글의 wr_last를 현재날짜로 업데이트

맞나모르겠네요.

무지고생햇는데 한번에해결해주셔서 감사합니다.
동작되는거같에여,..
해당글에 답변 채크를 주셨으니 그 소스로 살을 더 붙이자면
 
// 복사할 타겟 bo_table 가져오기
$temp1 = sql_fetch("select bo_3 from `$g5[board_table]` where bo_table='$bo_table'");
$tar_bo_table = $temp1[bo_3];
$write_table1 = $g5['write_prefix'] . $tar_bo_table;
$che = sql_fetch(SELECT count(wr_subject) AS cnt FROM $write_table1 WHERE wr_sunject ='$wr_subject');
 
if ($temp1[bo_3] && $che[cnt]>0){
// 글 입력부 
$sql = " update $write_table1 set wr_last = '".G5_TIME_YMDHIS."' where wr_subject = '$wr_subject' ";
sql_query($sql);
}
 
이렇게 해주면 bo_3 에 값이 있고 movie에 동일한 제목이 잇을때만 실행시킬수가 잇을듯 합니다.
답변을 작성하시기 전에 로그인 해주세요.
전체 61,355
QA 내용 검색

회원로그인

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