upadate 질문있씁니당~~

upadate 질문있씁니당~~

QA

upadate 질문있씁니당~~

본문

$sql = " update g5_sok set wr_8 = '$wr_8'  "; 
이렇게 구문을 입력하면 테이블내에 있는 모든 wr_8필드가 wr_8에 입력된 데이터로 변경이되는데 
테이블중 원하는 부분만 업데이트 되도록 하려면 어떻게 해야할까요? ㅠ

이 질문에 댓글 쓰기 :

답변 4

<?php

$sql = " update g5_sok set wr_8 = '$wr_8'   where wr_id = '$wr_id' ";

sql_query($sql);

?>

 

이렇게 해주세요

?php
$sub_menu = '400200';
include_once('./_common.php');

auth_check($auth[$sub_menu], "r");

$g5['title'] = '엔드볼DB관리';
if ($fm_subject) $g5['title'] .= ' : '.$fm_subject;
include_once (G5_ADMIN_PATH.'/admin.head.php');
$sql_common = " from g5_endball";
$sql_search = " where (1) ";//페이징처리를위해 반드시 넣어야해요

$sql = " select count(*) as cnt {$sql_common} {$sql_search}  ";//페이징처리를위해 반드시 넣어야해요
$row = sql_fetch($sql);
$total_count = $row['cnt'];

$rows = $config['cf_page_rows'];//페이징처리를위해 반드시 넣어야해요
$total_page  = ceil($total_count / $rows);  // 전체 페이지 계산
if ($page < 1) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함

$sql = "select * $sql_common order by wr_id desc limit {$from_record}, {$rows}";//페이징처리를위해 반드시 넣어야해요 desc는 내림차순 asc는 오름차순입니다.
$result = sql_query($sql);

$listall = '<a href="'.$_SERVER['SCRIPT_NAME'].'" class="ov_listall">전체목록</a>';
?>

<div class="local_ov01 local_ov">
  <?php echo $listall ?>
    등록된 상담문의<?php echo $total_count; ?>건
</div>
<div class="tbl_head01 tbl_wrap">
    <table>
    <caption><?php echo $g5['title']; ?> 목록</caption>
    <thead>
    <tr>
<th scope="col">번호</th>
        <th scope="col">이름</th>
        <th scope="col">거주지</th>
<th scope="col">목표체중</th>
<th scope="col">연락처</th>
<th scope="col">이메일</th>
        <th scope="col">신청사연</th>
<th scope="col">메모</th>
<th scope="col">신청날짜</th>
<th scope="col">관리자확인상태</th>
<th scope="col" colspan="3">수정(상태변경or삭제 버튼)</th>
    </tr>
    </thead>
    <tbody>
    <?php
    for ($i=$total_count; $row=sql_fetch_array($result); $i--)
    {
     


        $s_del = icon("삭제", "");

        $num = $i-($rows*($page-1));//정상적인 페이징처리를 위해서 이 형식대로 넣어야합니다.

        $bg = 'bg'.($i%2);
    ?>

    <tr class="<?php echo $bg; ?>"><!--이부분이 기록되는 DB정보 레이아웃부분-->
<td style="text-align:center;"><?php echo $num; ?></td>
        <td align='center' ><?=$row[wr_name]?></td>
        <td align='center' ><?=$row[wr_2]?></td>
        <td align='center'><?=$row[wr_3]?></td>
<td align='center' ><?=$row[wr_4]?></td>
<td align='center' ><?=$row[wr_email]?></td>
<td align='center' ><?=$row[wr_6]?></td>
<td align='center' >
<form id="testform"  method="post" action="./endball_memo.php" onsubmit='return chk_form(this.value)';>
<textarea name="wr_9" id="wr_9" style="resize:none; width:90%; float:left; box-sizing:border-box;" ><?=$row[wr_9]?></textarea>
<input type="submit" value="입력" style="width:10%; float:left; box-sizing:border-box;">
</form>
</td>
<td align='center' ><?=$row[wr_datetime]?></td>
<td align='center' >
<?=$row[wr_8]?>
</td>
        <td align='center' >
<form id="testform"  method="post" action="./endball_change.php" onsubmit='return chk_form(this.value)';>
<select name="wr_8" id="wr_8" >
<option value="">타입선택</option>
<option value="상담대기">상담대기</option>
<option value="상담완료">상담완료</option>
</select>
<input type="submit" value="상태수정">
</form>
  </td>
  <td align='center' >
<a href="./sok_update.php?w=d&wr_id=<?php echo $row['wr_id']; ?>" onclick="return delete_confirm(this);" ><span class="sound_only"><?php echo stripslashes($row['wr_name']); ?> </span>삭제</a>
  </td>
    </tr>

    <?php
    }

    if ($i < 0) {
        echo '<tr><td colspan="8" class="empty_table">자료가 없습니다.</td></tr>';
    }
    ?>
    </tbody>
    </table>

</div>
<?php echo get_paging(G5_IS_MOBILE ? $config['cf_mobile_pages'] : $config['cf_write_pages'], $page, $total_page, $_SERVER['SCRIPT_NAME'].'?'.$qstr.'&amp;page='); ?><!--페이징 버튼들을 나타나게해주는 그누보드용 함수입니다.-->

<?php
include_once (G5_ADMIN_PATH.'/admin.tail.php');
?>

이렇게되어있는데 여기서 상태수정버튼을 누르면 셀렉된 값이 enball_change.php로 넘어가서
DB에 저장되고 다시 이페이지에 노출되는형식입니다... ㅠ
endball_change.php는
<?php
$sub_menu = '400400';
include_once('./_common.php');
auth_check($auth[$sub_menu], "r");
$sql = "update g5_endball set wr_8='$wr_8'  ";
sql_query($sql);
alert("변경 되었습니다");
?>
이렇게되어있구요 ㅠㅠ

$sql = " update g5_sok set wr_8 = '$wr_8'  from 테이블명 where 조건 ";

 

이렇게 선택적으로 가능 합니다.

음 제가 궁금한건 제가 DB에 저장된것들을 관리자페이지쪽에 페이지를 하나만들어서 
출력되도록 해둔것인데 거기서 관리자가 상담문의들어온 상태를 ㅎ기록하기위해서 
셀렉트박스로 상담완료, 상담대기 부분을 만들어서 각 부분 선택하고 수정버튼을 누르면 값이 변경되도록 구현을 하였는데 이게 전체 상담문의 데이터가 다바뀌어버리니 문제입니다 ㅠㅠ

db관리툴로 접속해서

해당 SQL문을 그대로 실행해보세요 그럼 에러가 뭔지 나타납니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 59,809
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

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