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

최고관리자가 회원이 작성한 댓글의 여분필드(wr_6)를 수정하면 댓글 작성한 회원의 회원정보 mb_9에 wr_9 내용을 입력하고 싶은데 잘 안되네요. 채택완료

카라카스 2년 전 조회 2,083

최고관리자가 회원이 작성한 댓글의 여분필드(wr_6)를 수정하면 댓글 작성한 회원의 회원정보 여분필드(mb_9)를 wr_9의 내용이 입력되게 하고 싶은데 잘 안되네요.

 

현재 댓글에서 ajax로 여분필드를 수정하게 만들어 wr_6이 DB에도 정상적으로 반영되는 것까지 확인하였습니다.

그런데 위에서도 말했듯이 최고관리자가 회원 댓글의 wr_6를 '확정'으로 수정하면 댓글 작성한 회원의 회원정보에 mb_9에 wr_9의 내용이 입력되게 하고 싶은데 초보라서 구현이 쉽지 않네요....ㅠ.ㅠ

코드 좀 봐주시기 바랍니다.

 

view_comment.skin.php

</p>

<p><select name="wr_6" id="wr_6_<?php echo $i;?>" onchange="wr6_chk('<?php echo $i;?>','<?php echo $list[$i]['wr_id'];?>',this.value);" class="form-control input-sm" style="border: 1px solid #ddd; padding: 5px; color: #333; font-size: 14px; border-radius: 5px;">

                  <option value="신청중"<? if($list[$i]['wr_6'] == '신청중') echo " selected "; ?>>신청중</option>

                  <option value="확정"<? if($list[$i]['wr_6'] == '확정') echo " selected "; ?>>확정</option>

            </select></p>

<p><script>

var wr6_chk = function(wr_num,wr_id,field) {

    $.ajax({

        type:"post",

        url:"<?php echo $board_skin_url;?>/list_up.php",

        data:

        {

            bo_table : g5_bo_table,

            wr_num : wr_num,

            wr_id : wr_id,

            wr_6 : field

        },

        dataType:"html",

        success:function(res){

            $("#wr_6_"+wr_num).val(res);

            if(res)

                alert(res+"으로 변경되었습니다");

            else

                alert("변경 실패");

        }

    });

}

</script></p>

<p>

 

list_up.php

</p>

<p><?php

include_once("./_common.php");</p>

<p>$write_table = $g5['write_prefix'].$_POST['bo_table'];

$sql = " update ".$write_table." set wr_6 = '".$_POST['wr_6']."' where wr_id = '".$_POST['wr_id']."' ";

sql_query($sql);

$sql = "select wr_6 from ".$write_table." where wr_id = '".$_POST['wr_id']."' ";

$row = sql_fetch($sql);</p>

<p>if($row['wr_6'])

  echo $row['wr_6'];

else

  echo '';</p>

<p> </p>

<p>if($_POST['wr_6']=="확정"){

    $wr_9 = $_POST['wr_9'];

    $member['mb_id'] == $list[$i]['mb_id'] ;

    $sql2="update {$g5['member_table']} set mb_9 = '$wr_9' where mb_id='{$member['mb_id']}'";

    sql_query($sql2);

    $sql2 = "select mb_9 from {$g5['member_table']} where mb_id = '{$member['mb_id']}' ";

    $row = sql_fetch($sql2);

    

    if($row['mb_9'])

      echo $row['mb_9'];

    else

      echo '';

};

?></p>

<p>

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

답변 2개

채택된 답변
+20 포인트
m
2년 전

</p>

<p><?php

include_once("./_common.php");

$write_table = $g5['write_prefix'].$_POST['bo_table'];

$sql = " update ".$write_table." set wr_6 = '".$_POST['wr_6']."' where wr_id = '".$_POST['wr_id']."' ";

sql_query($sql);

// wr_9, 작성자 아이디 값도 같이 뽑아냄.

$sql = "select wr_6,wr_9,mb_id from ".$write_table." where wr_id = '".$_POST['wr_id']."' ";

$row = sql_fetch($sql);

if($row['wr_6'])

  echo $row['wr_6'];

else

  echo '';

 

if($_POST['wr_6']=="확정"){

    // 위에서 select

    //$wr_9 = $_POST['wr_9'];

    //$member['mb_id'] == $list[$i]['mb_id'] ;

    $sql2="update {$g5['member_table']} set mb_9 = '".$row['wr_9']."' where mb_id='".$row['mb_id']."'";

    sql_query($sql2);

    

    $sql2 = "select mb_9 from {$g5['member_table']} where mb_id = '".$row['mb_id']."' ";

    $row2 = sql_fetch($sql2);

    

    if($row2['mb_9'])

      echo $row2['mb_9'];

    else

      echo '';

};

?>

 </p>

<p>

$row2 같은 경우엔 mb_9에 저장한 값을  다시 불러니 딱히 필요가 없을것 같습니다.

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

카라카스
2년 전
헐...대박....감사합니다.
오늘 하루 종일 이거 때문에 머리 아팠는데...
myzone님 때문에 해결했습니다.
진짜~~~~감사합니다....

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

F
2년 전

$member['mb_id'] == $list[$i]['mb_id'] ;

 

이부분이 조금 이상해 보이네요. 

$list[$i]['mb_id'] 값은 아마 비어 있을것 같고 == 도 두개가 들어가 있네요. 

그리고 

$wr_9 = $_POST['wr_9'];

이 부분도 post로 넘어오는 wr_9 값은 없어보이네요. 

 

위에 있는 

$sql = "select wr_6 from ".$write_table." where wr_id = '".$_POST['wr_id']."' ";
이 쿼리에서 mb_id와 wr_9 값도 같이 가져와서 이걸로 처리해야 하지 않을까싶네요. 

$sql = "select mb_id, wr_6, wr_9 from ".$write_table." where wr_id = '".$_POST['wr_id']."' ";

 

이렇게 불러와서 

$wr_9=$row['wr_9'];

$mb_id=$row['mb_id'];

이렇게 처리해서 쿼리를 짜셔야 할것 같습니다. 

 

그리고 그누보드에서는 현재 로그인돼 있는 분의 정보를 $member 변수에 담고 있습니다. 

이렇게 사용되고 있는 변수에 덮어서 변수를 사용하시게 되면 나중에 유지보수 할때나 

수정하실때 헷갈릴수 있으니 다른 변수를 사용하시는걸 추천드립니다. 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

카라카스
2년 전
관심 가져주셔서 감사합니다.
위에서 말씀하신 오류 부분은 참고해서 수정하였습니다.

로그인된 사람이 최고관리자이고 최고관리자가 수정했을 때 작성 회원의 여분필드에 내용이 들어가야 하는 상황이라서 무리하게 진행하고 있네요...ㅠ.ㅠ
다시 한번 관심 가져 주셔서 감사합니다.

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

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

로그인