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

게시글 올라오면 쪽지로 발송 (여러아이디로) 채택완료

타버린나무 3년 전 조회 1,871

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개

채택된 답변
+20 포인트
sql_query($sql, TRUE); // 이렇게 해서 문제가 있는지 한번 살펴 보세요.
로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

엑스엠엘
3년 전
$me_id가 중복되어서 그런 듯하군요.
타버린나무
3년 전
감사합니다. 덕분에 해결했습니다.
$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]
해결은 위 코드를 루프안에 넣었습니다.

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

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

로그인