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

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

QA

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

본문

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

 

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

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

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

 

view_comment.skin.php


<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>
<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>

 

list_up.php


<?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);
$sql = "select wr_6 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']=="확정"){
    $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 '';
};
?>

이 질문에 댓글 쓰기 :

답변 2


<?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 '';
};
?>
 

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

 

$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 변수에 담고 있습니다. 

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

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

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

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

답변을 작성하시기 전에 로그인 해주세요.
전체 59,555
QA 내용 검색

회원로그인

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