submit 버튼으로 선택 수정 값이 안 들어가요
본문
관리자페이지 내에서 셀렉트 박스로 값을 선택해놓고
맨 앞 체크박스를 클릭하고 선택수정(submit버튼) 을 누르면 g5_downok 테이블 내
ok_yesno 컬럼만 업데이트 되도록 하고 싶습니다.
문제는 셀렉트 박스에서 값을 지정해놓고 바꾼 행의 체크박스를 선택해놓고 선택수정버튼을
클릭하면 ok_yesno 컬럼이 정상적으로 업데이트 되지 않고 값이 사라져 버립니다.
그런데, A.I 걸려있는 admin_id가 1,2 인 행들은 전체 선택을 하고 수정버튼을 누르면
한번씩 업데이트가 됩니다.
규칙이 보이질 않아서 수정도 못하는데 도움 주시면 감사하겠습니다.
download.ok.php
<?php
<form name="fboardlist" id="fboardlist" method="post" action="./download.ok_delete.php" onsubmit="return fboardlist_submit(this);">
<input type="hidden" name="sst" value="<?php echo $sst ?>">
<input type="hidden" name="sod" value="<?php echo $sod ?>">
<input type="hidden" name="sfl" value="<?php echo $sfl ?>">
<input type="hidden" name="stx" value="<?php echo $stx ?>">
<input type="hidden" name="page" value="<?php echo $page ?>">
<input type="hidden" name="token" value="">
<div class="tbl_head01 tbl_wrap">
<table>
<caption><?php echo $g5['title']; ?> 목록</caption>
<thead>
<tr>
<th scope="col">
<label for="chkall" class="sound_only">다운로드 허가 전체</label>
<input type="checkbox" name="chkall" value="1" id="chkall" onclick="check_all(this.form)">
</th>
<th scope="col"><?php echo subject_sort_link('mb_id') ?>회원아이디 </a></th>
<th scope="col">고유번호</th>
<th scope="col">이름</th>
<th scope="col"><?php echo subject_sort_link('ok_bo_name') ?>회원 소속</a></th>
<th scope="col"><?php echo subject_sort_link('ok_subject') ?>제목</a></th>
<th scope="col"><?php echo subject_sort_link('ok_filename') ?>파일</a></th>
<th scope="col"><?php echo subject_sort_link('ok_time') ?>일시</a></th>
<th scope="col"><?php echo subject_sort_link('ok_yesno') ?>허가</th>
</tr>
</thead>
<tbody>
<?php
for ($i=0; $row=sql_fetch_array($result); $i++) {
if ($i==0 || ($row2['mb_id'] != $row['mb_id'])) {
$sql2 = " select mb_id, mb_name, mb_nick, mb_email, mb_homepage, mb_point from {$g5['member_table']} where mb_id = '{$row['mb_id']}' ";
$row2 = sql_fetch($sql2);
}
$mb_nick = get_sideview($row['mb_id'], $row2['mb_nick'], $row2['mb_email'], $row2['mb_homepage']);
$link1 = $link2 = '';
if (!preg_match("/^\@/", $row['po_rel_table']) && $row['po_rel_table']) {
$link1 = '<a href="'.G5_BBS_URL.'/board.php?bo_table='.$row['po_rel_table'].'&wr_id='.$row['po_rel_id'].'" target="_blank">';
$link2 = '</a>';
}
$expr = '';
if($row['po_expired'] == 1)
$expr = ' txt_expired';
$bg = 'bg'.($i%2);
?>
<tr class="<?php echo $bg; ?>">
<td class="td_chk">
<input type="hidden" name="mb_id[<?php echo $i ?>]" value="<?php echo $row['mb_id'] ?>" id="mb_id_<?php echo $i ?>">
<input type="hidden" name="admin_id[<?php echo $i ?>]" value="<?php echo $row['admin_id'] ?>" id="admin_id_<?php echo $i ?>">
<label for="chk_<?php echo $i; ?>" class="sound_only"><?php echo $row['po_content'] ?> 내역</label>
<input type="checkbox" name="chk[]" value="<?php echo $i ?>" id="chk_<?php echo $i ?>">
</td>
<td class="td_mbid"><a href="?sfl=mb_id&stx=<?php echo $row['mb_id'] ?>"><?php echo $row['mb_id'] ?></a></td> <!--회원아이디-->
<td class="td_mbname"><?php echo $row['ok_id'] ?></td> <!--고유번호-->
<td class="td_name sv_use"><div><?php echo $mb_nick ?></div></td> <!--이름-->
<td class="td_pt_board"><?php echo $row['ok_bo_name'] ?></td> <!--게시판-->
<td class="td_pt_log"><a href="<?php echo G5_BBS_URL ?>/board.php?bo_table=<?php echo $row['bo_table'] ?>&wr_id=<?php echo $row['wr_id'] ?>" target="_blank"><?php echo $row['ok_subject'] ?></a></td><!--제목-->
<td class="td_pt_log"><a href="?sfl=ok_filename&stx=<?php echo $row['ok_filename'] ?>"><?php echo $row['ok_filename'] ?></a></td> <!--파일명-->
<td class="td_datetime"><?php echo $row['ok_time'] ?></td><!--일시-->
<td class="td_yesno">
<select name="ok_yesno" id="ok_yesno">
<option value="0" <?php echo get_selected($row['ok_yesno'], '0', true);?>>대기중</option>
<option value="1" <?php echo get_selected($row['ok_yesno'], '1');?>>허가</option>
<option value="2" <?php echo get_selected($row['ok_yesno'], '2');?>>거절</option>
</select>
</td><!--허가-->
</tr>
<?php
}
if ($i == 0)
echo '<tr><td colspan="'.$colspan.'" class="empty_table">다운로드 허가 요청이 없습니다.</td></tr>';
?>
</tbody>
</table>
</div>
<div class="btn_list01 btn_list">
<input type="submit" class="btn_confirm01" name="act_button" value="선택삭제" onclick="document.pressed=this.value">
<input type="submit" class="btn_confirm02" name="act_button" value="선택수정" onclick="document.pressed=this.value">
</div>
</form>
<?php echo get_paging(G5_IS_MOBILE ? $config['cf_mobile_pages'] : $config['cf_write_pages'], $page, $total_page, "{$_SERVER['SCRIPT_NAME']}?$qstr&page="); ?>
<script>
function fboardlist_submit(f){
if (!is_checked("chk[]")) {
alert(document.pressed+" 하실 항목을 하나 이상 선택하세요.");
return false;
}
if(document.pressed == "선택삭제") {
if(!confirm("선택한 자료를 정말 삭제하시겠습니까?")) {
return false;
}
}
if(document.pressed == "선택수정") {
if(!confirm("선택한 자료를 정말 수정하시겠습니까?")) {
return false;
}
}
return true;
}
</script>
?>
download.ok_delete.php
<?php
$sub_menu = '300900';
include_once('./_common.php');
check_demo();
auth_check($auth[$sub_menu], 'r,d');
check_admin_token();
$count = count($_POST['chk']);
$act_button = isset($_POST['act_button']) ? strip_tags($_POST['act_button']) : '';
if(!$count)
alert($act_button.' 하실 항목을 하나 이상 체크하세요.');
if ($act_button === "선택수정") {
auth_check($auth[$sub_menu], 'w');
for ($i=0; $i<$count; $i++) {
// 실제 번호를 넘김
$k = $_POST['chk'][$i];
$post_ok_yesno = $_POST['ok_yesno'][$k];
//내역정보
$sql = " select * from g5_downok where admin_id = '{$_POST['admin_id'][$k]}' ";
$row = sql_fetch($sql);
if(!$row['admin_id']) continue;
//내역수정
$sql = " update g5_downok set ok_yesno = '$post_ok_yesno' where admin_id = '{$_POST['admin_id'][$k]}' ";
sql_query($sql);
}
} elseif ($act_button === "선택삭제"){
for ($i=0; $i<$count; $i++)
{
// 실제 번호를 넘김
$k = $_POST['chk'][$i];
//내역정보
$sql = " select * from g5_downok where admin_id = '{$_POST['admin_id'][$k]}' ";
$row = sql_fetch($sql);
if(!$row['admin_id']) continue;
//내역삭제
$sql = " delete from g5_downok where admin_id = '{$_POST['admin_id'][$k]}' ";
sql_query($sql);
}
}
goto_url('./download.ok.php?'.$qstr);
?>
답변 1
download.ok_delete.php 구간에서
print_r($_POST); 해서 넘어오는 값을 확인해 보시고
sql문을 echo하여 직접 찍어서 확인해 보셔야 할 듯 해요
답변을 작성하시기 전에 로그인 해주세요.