테스트 사이트 - 개발 중인 베타 버전입니다

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'].'&amp;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&amp;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&amp;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&amp;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년 전
다른 값들은 array 로 들어가는데 필요한 ok_yesno 부분만 array로 안 들어가네요

나온 값은 아래와 같습니다

( [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] => 선택수정 )
개노미
2년 전
<select name="ok_yesno" id="ok_yesno">
=>
<select name="ok_yesno[<?php echo $i ?>]" id="ok_yesno_[<?php echo $i ?>]">
더루차
2년 전
감사합니다 덕분에 해결했습니다!

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인