게시글 올라오면 쪽지로 발송 (여러아이디로) 채택완료
http://www.gnuwiz.com/bbs/board.php?bo_table=gnu_tip&wr_id=11
위 링크에 따라 잘 작동을 합니다.!!!
문제는 여러 아이디일 경우에 첫번째 배열만 쪽지가 날라가고
두번째 아이디 부터는 전송이 안됩니다.
</p>
<p><?php</p>
<p>/* 해당스킨경로/write_update.skin.php */</p>
<p> </p>
<p>if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가</p>
<p>if(!$wr_comment) { // 코멘일때는 저장하면 안됨.</p>
<p> </p>
<p>$tmp_row = sql_fetch(" select max(me_id) as max_me_id from {$g5['memo_table']} ");</p>
<p>$me_id = $tmp_row['max_me_id'] + 1;</p>
<p>$link = G5_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$wr_id.'';</p>
<p> </p>
<p>$memo = "";</p>
<p>$memo .= $board['bo_subject']." 게시판에 새글이 등록 되었습니다";</p>
<p>$memo .= "작성자 : ".$member['mb_name'];</p>
<p>$memo .= "별명 : ".$member['mb_nick'];</p>
<p>$memo .= "분류 : ".$sca;</p>
<p>$memo .= "제목 : ".$wr_subject;</p>
<p>$memo .= "작성글보기 : ".$link;</p>
<p> </p>
<p>$memArr = array("aaa","bbb"); // aaa만 쪽지가 전달됨</p>
<p>foreach($memArr AS $key => $val) {</p>
<p>$sql = " insert into ".$g5['memo_table']."</p>
<p>set</p>
<p>me_id = '".$me_id."',</p>
<p>me_recv_mb_id = '".$val."',</p>
<p>me_send_mb_id = '".$member['mb_id']."',</p>
<p>me_send_datetime = now(),</p>
<p>me_memo = '".$memo."' ";</p>
<p>sql_query($sql);</p>
<p>}</p>
<p> </p>
<p>}</p>
<p>?></p>
<p>
위 코드로 하면 aaa에겐 쪽지가 잘 가는데 bbb에겐 쪽지가 안갑니다.
아래처럼 해서 echo 로 $sql찍어보면 aaa와 bbb 둘다 잘 찍힙니다.
</p>
<p><?php</p>
<p>/* 해당스킨경로/write_update.skin.php */</p>
<p> </p>
<p>if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가</p>
<p>if(!$wr_comment) { // 코멘일때는 저장하면 안됨.</p>
<p> </p>
<p>$tmp_row = sql_fetch(" select max(me_id) as max_me_id from {$g5['memo_table']} ");</p>
<p>$me_id = $tmp_row['max_me_id'] + 1;</p>
<p>$link = G5_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$wr_id.'';</p>
<p> </p>
<p>$memo = "";</p>
<p>$memo .= $board['bo_subject']." 게시판에 새글이 등록 되었습니다";</p>
<p>$memo .= "작성자 : ".$member['mb_name'];</p>
<p>$memo .= "별명 : ".$member['mb_nick'];</p>
<p>$memo .= "분류 : ".$sca;</p>
<p>$memo .= "제목 : ".$wr_subject;</p>
<p>$memo .= "작성글보기 : ".$link;</p>
<p> </p>
<p>$memArr = array("aaa","bbb"); // aaa만 쪽지가 전달됨</p>
<p>foreach($memArr AS $key => $val) {</p>
<p>echo $sql = " insert into ".$g5['memo_table']."</p>
<p>set</p>
<p>me_id = '".$me_id."',</p>
<p>me_recv_mb_id = '".$val."',</p>
<p>me_send_mb_id = '".$member['mb_id']."',</p>
<p>me_send_datetime = now(),</p>
<p>me_memo = '".$memo."' ";</p>
<p>//sql_query($sql);</p>
<p>}</p>
<p>}</p>
<p>exit;</p>
<p>?></p>
<p>
결과물:insert into g5_memo set me_id = '1183', me_recv_mb_id = 'aaa', me_send_mb_id = 'ccc', me_send_datetime = now(), me_memo = '테스트 게시판에 새글이 등록 되었습니다작성자 : 익명분류 : 비밀제목 : test작성글보기 : http://.../g5/bbs/board.php?bo_table=test&wr_id=253' insert into g5_memo set me_id = '1183', me_recv_mb_id = 'bbb', me_send_mb_id = 'ccc', me_send_datetime = now(), me_memo = '테스트 게시판에 새글이 등록 되었습니다작성자 : 익명분류 : 비밀제목 : test작성글보기 : http://.../g5/bbs/board.php?bo_table=test&wr_id=253'
배열 문제인가 싶어서 아래 코드처럼 낱개?로 해봐도 마찮가지로 첫번째 아이디만 전송되고 두번째 아이디 부터는 쿼리가 안먹히네요.
</p>
<p><?php</p>
<p>/* 해당스킨경로/write_update.skin.php */</p>
<p> </p>
<p>if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가</p>
<p>if(!$wr_comment) { // 코멘일때는 저장하면 안됨.</p>
<p> </p>
<p>$tmp_row = sql_fetch(" select max(me_id) as max_me_id from {$g5['memo_table']} ");</p>
<p>$me_id = $tmp_row['max_me_id'] + 1;</p>
<p>$link = G5_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$wr_id.'';</p>
<p> </p>
<p>$memo = "";</p>
<p>$memo .= $board['bo_subject']." 게시판에 새글이 등록 되었습니다";</p>
<p>$memo .= "작성자 : ".$member['mb_name'];</p>
<p>$memo .= "별명 : ".$member['mb_nick'];</p>
<p>$memo .= "분류 : ".$sca;</p>
<p>$memo .= "제목 : ".$wr_subject;</p>
<p>$memo .= "작성글보기 : ".$link;</p>
<p> </p>
<p>$memArr = array("aaa"); // 쪽지 발송 잘 됩니다.</p>
<p>foreach($memArr AS $key => $val) {</p>
<p>$sql = " insert into ".$g5['memo_table']."</p>
<p>set</p>
<p>me_id = '".$me_id."',</p>
<p>me_recv_mb_id = '".$val."',</p>
<p>me_send_mb_id = '".$member['mb_id']."',</p>
<p>me_send_datetime = now(),</p>
<p>me_memo = '".$memo."' ";</p>
<p>sql_query($sql);</p>
<p>}</p>
<p> </p>
<p>$memArr = array("bbb"); // 여기서부터는 쪽지가 발송이 안됩니다.</p>
<p>foreach($memArr AS $key => $val) {</p>
<p>$sql = " insert into ".$g5['memo_table']."</p>
<p>set</p>
<p>me_id = '".$me_id."',</p>
<p>me_recv_mb_id = '".$val."',</p>
<p>me_send_mb_id = '".$member['mb_id']."',</p>
<p>me_send_datetime = now(),</p>
<p>me_memo = '".$memo."' ";</p>
<p>sql_query($sql);</p>
<p>}</p>
<p>}</p>
<p>?></p>
<p>
하.. 어째설까요 ㅜㅜ;;
쪽지 디비에 빠른 쿼리는 안된다는 뭐 이런 규칙이 있을건 아니잖아요..
답변 1개
답변에 대한 댓글 2개
$me_id가 중복이 될걸 생각못했습니다.
위 출처에도 알려야겠습니다.
[code]
$tmp_row = sql_fetch(" select max(me_id) as max_me_id from {$g5['memo_table']} ");
$me_id = $tmp_row['max_me_id'] + 1;
[/code]
해결은 위 코드를 루프안에 넣었습니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인