Warning: Undefined array key "mobile_dir" in /home/kagla/new-sir/old/common.php on line 315
여러개의 값을 update 하고싶은데 마지막 데이터만 들어갑니다..

여러개의 값을 update 하고싶은데 마지막 데이터만 들어갑니다..

여러개의 값을 update 하고싶은데 마지막 데이터만 들어갑니다..

QA

여러개의 값을 update 하고싶은데 마지막 데이터만 들어갑니다..

답변 2

본문


$week = 4;
for($i=0;$i<count($week);$i++)
 {
   $sql = "update pro_4
   set week = '{$week[$i]}',
   type = '{$type}',
   mon = '{$mon}',
   where week = $week";
   sql_query($sql) or die (sql_error());
 }

이런식으로 구문을 짯는데

마지막 데이터값만 들어가는데.. 혹시 어디가 잘못되었나요ㅜㅜ

이 질문에 댓글 쓰기 :

답변 2

일단


$week = 4; 는 배열이 아닙니다. 

count()함수는 배열의 수를 세는 함수입니다.

그러므로 무조건 에러납니다 .



$week = array(1,2,3,4);


for($i=0;$i<count($week);$i++){


 $sql = "update pro_4
 set week = '{$week[$i]}',
 type = '{$type}',
 mon = '{$mon}',
 where week = '{$week[$i]}'";
 sql_query($sql) or die (sql_error());
	
}


변수로 활용하려면 이렇게!


$week = 4;
for($i=0;$i<$week;$i++)
 {
   $sql = "update pro_4
   set week = '{$i}',
   type = '{$type}',
   mon = '{$mon}',
   where week = '{$week}'";
   sql_query($sql) or die (sql_error());
 }

$week = 4; 

이렇게 하셨으니 항상 week = 4 로 업데이트 되는것이지요

예를 들면 아래와 같이 하셔야 합니다
$week = Array(1,2,3,4); 
for($i=0;$i<count($week);$i++)
 {
   $sql = "update pro_4
   set week = '".$week[$i]."',   // 이건 where 절에 있는 컬럼인데 업데이트를???
   type = '".$type."',
   mon = '".$mon."',
   where week = '".$week[$i]."'";
   sql_query($sql) or die (sql_error());
 }
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 129,406
© SIRSOFT
현재 페이지 제일 처음으로