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