데이터베이스 업데이트 문의
본문
<div>
<section id="anc_sodr_memo">
<h2 class="h2_frm"></h2>
<?php echo $pg_anchor; ?>
<form name="frmorderform2" action="./order_mb_memoform_update.php" method="post" onsubmit="return form_submit(this);">
<input type="hidden" name="od_id" value="<?php echo $od_id; ?>">
<input type="hidden" name="index_no" value="<?php echo $index_no; ?>">
<input type="hidden" name="mb_memo" value="<?php echo $mb_memo; ?>">
<input type="hidden" name="mb_memo_update" value="<?php echo $mb_memo_update; ?>">
<input type="hidden" name="sort1" value="<?php echo $sort1; ?>">
<input type="hidden" name="sort2" value="<?php echo $sort2; ?>">
<input type="hidden" name="sel_field" value="<?php echo $sel_field; ?>">
<input type="hidden" name="search" value="<?php echo $search; ?>">
<input type="hidden" name="page" value="<?php echo $page; ?>">
<input type="hidden" name="mod_type" value="memo">
<input type="hidden" name="w" value="<?php echo $w; ?>">
<?php
// 상품목록
$sql3 = " select * from {$g5['g5_shop_mb_memo_table']} where od_id = '$od_id' ";
$memo_result =sql_query($sql3) ;
?>
<section id="anc_sodr_status_mod" >
<div class="tbl_head01 tbl_wrap">
<table>
<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>
</tr>
</thead>
<tbody>
<?php for($j=0; $result_claim=sql_fetch_array($memo_result); $j++) {?>
<tr>
<?php if($result_claim['mb_id'] == ''){?>
<td width="100">요청사항</td> <?php }
else {?> <td width="100">지시사항</td> <?php } ?>
<td width="100"><?php echo $result_claim['mb_id']; ?></td>
<td width="500"><input type="text" name="mb_memo_update" value="<?php echo get_text($result_claim['mb_memo']); ?>" id="mb_memo_update" class="frm_input"></td>
<td width="200">
작성 : <?php echo substr($result_claim['mb_memo_time'],0,16); ?> (<?php echo get_yoil($result_claim['mb_memo_time']); ?>)<br>
수정 : <font color="red"><?php echo substr($result_claim['mb_memo_update_time'],0,16); ?> (<?php echo get_yoil($result_claim['mb_memo_update_time']); ?>)</font>
</td>
<td width="70">
<a href="./order_mb_memoform_update.php?w=u&od_id=<?php echo $result_claim['od_id']; ?>&index_no=<?php echo $result_claim['index_no']; ?>" class="mng_mod btn btn_02">수정</a>
</td>
<td width="70">
<a href="./order_mb_memoform_update.php?w=d&od_id=<?php echo $result_claim['od_id']; ?>&index_no=<?php echo $result_claim['index_no']; ?>" class="mng_mod btn btn_01"><span class="sound_only"><?php echo $row['od_id']; ?> </span>삭제</a>
</td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
<section>
<div class="compare_wrap">
<section id="anc_sodr_detail_mod">
<div class="tbl_frm01">
<table>
<colgroup>
<col class="grid_3">
<col>
</colgroup>
<tbody>
<tr>
<th scope="row"><label for="mb_memo">메모내용</label></th>
<td>
<textarea name="mb_memo" id="mb_memo" rows="2"><?php echo html_purifier(stripslashes($result_claim['mb_memo'])); ?></textarea>
</td>
</tr>
</tbody>
</table>
</div>
</section>
<div class="btn_confirm01 btn_confirm">
<input type="submit" value="메모 추가" class="btn_submit btn">
<a href="./orderlist.php?<?php echo $qstr; ?>" class="btn btn_02">이전페이지로 이동</a>
</div>
</div>
</form>
</section>
위 소스처럼 주문내역수정 화면에서 고객 불만에 대하여 내부적으로 지시/요청 사항을 구현하려고 하는데,
아래 업데이트 파일을 통해서 내용이 insert, delete는 잘 되는데 update만 안되는 이유를 잘 모르겠습니다.
도움 부탁드립니다.
if ($w == 'u') // 업데이트
{
sql_query(" UPDATE {$g5['g5_shop_mb_memo_table']}
set mb_id = '{$member['mb_id']}',
mb_memo = '{$_POST['mb_memo_update']}',
mb_memo_update_time = '".G5_TIME_YMDHIS."'
where od_id = $od_id ");
}
else if ($w == 'd') // 삭제
{
if (!$od_id)
alert('존재하지 않는 데이터 입니다.');
sql_query(" DELETE from {$g5['g5_shop_mb_memo_table']} where index_no = '$index_no' ");
}
else // 등록
{
$sql = " INSERT {$g5['g5_shop_mb_memo_table']}
set od_id = '{$_POST['od_id']}',
mb_id = '{$member['mb_id']}',
mb_memo = '{$_POST['mb_memo']}',
mb_memo_time = '".G5_TIME_YMDHIS."' ";
sql_query($sql);
}
!-->!-->
답변 3
sql_query(" UPDATE {$g5['g5_shop_mb_memo_table']} set mb_id = '{$member['mb_id']}', mb_memo = '{$_POST['mb_memo_update']}', mb_memo_update_time = '".G5_TIME_YMDHIS."' where od_id = $od_id ");
에서
sql_query(" UPDATE {$g5['g5_shop_mb_memo_table']} set mb_id = '{$member['mb_id']}', mb_memo = '{$_POST['mb_memo_update']}', mb_memo_update_time = '".G5_TIME_YMDHIS."' where od_id = '$od_id' ");
로 바꿔보세요
where 부분 '$od_id' 로 바꿔서 해보시구요
'{$_POST['od_id']}'로 했을 때도 안되나요?
답을 찾았네요. 왜 insert와 delete만 되고 update가 안되었는지요
힌트1. 폼을 넣었으나 폼을 사용하지않았다.
힌트2. 중복된 input name을 설정했다.
힌트3. 중복된 input은 맨마지막값만 넘어간다.
힌트4. 힌트3에 더불러 hidden을 사용하면 된다.
힌트5. 데이터를 넘길때 get으로 넘겼다.
답변을 작성하시기 전에 로그인 해주세요.