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

선택한 행의 DB값만 update하기 채택완료

list.php

</p>

<p><ul></p>

<p><?php</p>

<p>    $sql = "select * from g5_shop_cart where od_id = '{$od_id}'";</p>

<p>    $result = sql_query($sql);</p>

<p>    for($i=0; $row=sql_fetch_array($result); $i++){</p>

<p>?></p>

<p>    <li></p>

<p>        <input type="checkbox" name="chk[]"></p>

<p>        <input type="number" name="quantity" value="<?php echo $row['quantity'] ?>"></p>

<p>    </li></p>

<p><?php } ?></p>

<p></ul></p>

<p>

 

listupdate.php

</p>

<p>for($i=0; $i<count($_POST['chk']); $i++){</p>

<p>    if($_POST['chk'][$i]){</p>

<p>        $sql2 = "update g5_shop_cart</p>

<p>                            set quantity = '{$_POST['quantity'][$i]}'";</p>

<p>        sql_query($sql2);</p>

<p>    }</p>

<p>}</p>

<p>

 

안녕하세요.

아직 sql이 익숙하지 않아서 헤매고 있습니다ㅠ

g5_shop_cart 테이블에 quantity라는 열을 추가했고

list.php에서 체크박스를 선택한 데이터값만 업데이트 하고 싶습니다.

지금은 체크하지 않은 다른 행의 값도 다 같이 바뀝니다...

 

질문은 어떻게 하면 선택한 행의 값만 넘길 수 있나요...?

도움 부탁드립니다.

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

답변 1개

채택된 답변
+20 포인트

list.php 부터 잘못되었네요.

장바구니의 키를 저장해주는것이 없네요.

예: 

"checkbox" name="chk[]" value="">

 

listupdate.php

$ca_id=$_POST['chk'][$i];

$sql2 = "update g5_shop_cart
                            set quantity = '{$_POST['quantity'][$i]}' where ca_id=$ca_id";

 

참고만 하세요.

 

 

 

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

답변 감사합니다^^ 그런데...값이 넘어오지 않아서 아쉽네요ㅠ
아앗 제가 echo를 누락했네요...실행 잘 됩니다^^ 감사합니다

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

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

로그인

전체 질문 목록