배열 오류 질문드립니다.

배열 오류 질문드립니다.

QA

배열 오류 질문드립니다.

본문

게시판 소스

<form name="fboardlist" id="fboardlist" action="<?php echo G5_BBS_URL; ?>/board_list_update.php" onsubmit="return fboardlist_submit(this);" method="post">
        <table>
        <tbody>
        <?php for ($i=0; $i<count($list); $i++) { ?>
        <tr>
            <td class="td_chk">
                <label for="chk_wr_id_<?php echo $i ?>" class="sound_only"><?php echo $list[$i]['wr_9'] ?></label>
                <input type="checkbox" name="chk_wr_id[]" value="<?php echo $list[$i]['wr_id'] ?>" id="chk_wr_id_<?php echo $i ?>">
            </td>
            <td class="td_num"><?php echo $list[$i]['num'];  ?> </td>
            <td class="center"><input name="wr_1[]" value="<?php echo $list[$i]['wr_1'] ?>" class="frms_input"></td>
            <td class="center"><input name="wr_2[]" value="<?php echo $list[$i]['wr_2'] ?>" class="frms_input"></td>
        </tr>
        <?php } ?>
        </tbody>
        </table>
    </div>
    <button type="submit" name="btn_submit" class="btn_b03"  value="선택수정" onclick="document.pressed=this.value"><i class="fa fa-arrows" aria-hidden="true"></i> 선택수정</button>
</form>
update 소스

if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가 
$count = count($_POST['chk_wr_id']);
for ($i=0; $i<$count); $i++){ 
    $wrid = $_POST['chk_wr_id'][$i]; 
    $wr1 = $_POST['wr_1'][$i]; 
    $wr2 = $_POST['wr_2'][$i]; 
    $sql = " update $write_table set wr_1='$wr1', wr_2='$wr2' where wr_id='$wrid' "; 
    $result = sql_query($sql); 
 } 


보들이윤님의 글을 보고 수정한 소스입니다.

리스트에서 내용을 수정후 선택 수정을 누르면 업데이트를 시키는데..

문제는 전체선택을 해서 수정하면 문제 없이 수정이 되는데
개별적으로 수정하면 수정이 되질 않습니다.

 

sql 값을 찍어보면 전체일때는 정상적으로 값이 넘어오는데
개별적으로 선택을 해서 찍으면 값이 해당 체크값이 아닌 다른 값이 넘어옵니다.

 

가장 첫번째걸 체크해서 넘기면 두번째의 값들이 넘어옵니다.

예) 1번의 wr_1 : aaa, wr_2 :bbb

  2번의 wr_1 : 555, wr_2 : 666

일때 1번을 체크해서 수정하면 2번의 값들이 넘어오고 있습니다.

 

현재는 전체선택을 해서 수정을 하고 있긴 하지만.. 몇몇개만 선택해서 수정할때 오류를 해결하고 싶습니다.

이 질문에 댓글 쓰기 :

답변 1

            <td class="td_chk">
                <label for="chk_wr_id_<?php echo $i ?>" class="sound_only"><?php echo $list[$i]['wr_9'] ?></label>
                <input type="checkbox" name="chk_wr_id[]" value="<?php echo $list[$i]['wr_id'] ?>" id="chk_wr_id_<?php echo $i ?>">
            </td>
            <td class="td_num"><?php echo $list[$i]['num'];  ?> </td>
            <td class="center"><input name="wr_1[<?php echo $list[$i]['wr_id']; ?>]" value="<?php echo $list[$i]['wr_1'] ?>" class="frms_input"></td>
            <td class="center"><input name="wr_2[<?php echo $list[$i]['wr_id']; ?>]" value="<?php echo $list[$i]['wr_2'] ?>" class="frms_input"></td>
        </tr>
        <?php } ?>
        </tbody>
        </table>
    </div>
    <button type="submit" name="btn_submit" class="btn_b03"  value="선택수정" onclick="document.pressed=this.value"><i class="fa fa-arrows" aria-hidden="true"></i> 선택수정</button>
</form>

 

update 소스

if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가 
$count = count($_POST['chk_wr_id']);
for ($i=0; $i<$count); $i++){ 
    $wrid = $_POST['chk_wr_id'][$i]; 
    $wr1 = $_POST['wr_1'][$wrid]; 
    $wr2 = $_POST['wr_2'][$wrid]; 
답변을 작성하시기 전에 로그인 해주세요.
전체 234
QA 내용 검색

회원로그인

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