다중 게시글입력 쿼리질문
본문
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];
$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);
// 글 입력부
$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테이블에서 최신글정렬을위해서 해주려구합니다.
무지고생햇는데 한번에해결해주셔서 감사합니다.
동작되는거같에여,..
해당글에 답변 채크를 주셨으니 그 소스로 살을 더 붙이자면
// 복사할 타겟 bo_table 가져오기
$temp1 = sql_fetch("select bo_3 from `$g5[board_table]` where bo_table='$bo_table'");
$tar_bo_table = $temp1[bo_3];
$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);
// 글 입력부
$sql = " update $write_table1 set wr_last = '".G5_TIME_YMDHIS."' where wr_subject = '$wr_subject' ";
sql_query($sql);
}
이렇게 해주면 bo_3 에 값이 있고 movie에 동일한 제목이 잇을때만 실행시킬수가 잇을듯 합니다.
sahara님, 사이트 완성이 된건가요?
답변을 작성하시기 전에 로그인 해주세요.