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문을 그대로 실행해보세요 그럼 에러가 뭔지 나타납니다.

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

회원로그인

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