php mysql 한꺼번에 여러개 update 쿼리문 for로 돌릴 없나요?

php mysql 한꺼번에 여러개 update 쿼리문 for로 돌릴 없나요?

QA

php mysql 한꺼번에 여러개 update 쿼리문 for로 돌릴 없나요?

답변 2

본문

안녕하세요?

자료를 일괄 업데이터하는 대입문을 작성하였는데..

이걸 update 쿼리문을 for문으로 돌릴 수 없나요???

 

예를 들어 각각의 조건에 따라 10개의 자료를 한꺼번에 수정하고자 하는 경우

각각의 값은 다 다르겠고요...

(게시판이 아니라 직접 php으로 수정함)


<?php
 include("dbinfo.php");
 /*
    $conn = mysql_connect( $host, $user, $pw ) or die( "디비에 연결할 수 없습니다." );
    mysql_select_db( $dbname ) or die( mysql_error() );
    */
 
$conn = mysqli_connect($host, $user, $pw, $dbname); // 데이터베이스 연결
if (mysqli_connect_errno()){
 echo "MySQL 연결 실패 : " . mysqli_connect_error();
}
mysqli_query($conn,"UPDATE ttBusu SET curBUSU = '초' WHERE SEQ=2380");
mysqli_query($conn,"UPDATE ttBusu SET curBUSU = '초' WHERE SEQ=2377");
mysqli_query($conn,"UPDATE ttBusu SET curBUSU = '초' WHERE SEQ=3767");
mysqli_query($conn,"UPDATE ttBusu SET curBUSU = '초' WHERE SEQ=2651");
mysqli_query($conn,"UPDATE ttBusu SET curBUSU = '초' WHERE SEQ=2635");
mysqli_query($conn,"UPDATE ttBusu SET curBUSU = '초' WHERE SEQ=3953");
mysqli_query($conn,"UPDATE ttBusu SET curBUSU = '초' WHERE SEQ=3832");
mysqli_query($conn,"UPDATE ttBusu SET curBUSU = '초' WHERE SEQ=3829");
mysqli_query($conn,"UPDATE ttBusu SET curBUSU = '초' WHERE SEQ=3826");
mysqli_query($conn,"UPDATE ttBusu SET curBUSU = '초' WHERE SEQ=3824");
mysqli_query($conn,"UPDATE ttBusu SET curBUSU = '초' WHERE SEQ=3822");
mysqli_query($conn,"UPDATE ttBusu SET curBUSU = '초' WHERE SEQ=3821");
mysqli_query($conn,"UPDATE ttBusu SET curBUSU = '초' WHERE SEQ=3798");
mysqli_close($conn);
?>

 

검색조건 값과 바꿀값을 배열처리로 해야 하나요?

배열도 잘 모르겠고..........^^

고수님들의 도움을 바랍니다.

자료가 위는 13개이지만, 이게 엄청 많으면.....

쿼리문 만들기가 엄청 힘들어질 것 같아서요..

 

이 질문에 댓글 쓰기 :

답변 2

for문 loop로 하는게 아닙니다

$seqStr="2380, 2377,3767~~~~~~";

mysqli_query($conn,"UPDATE ttBusu SET curBUSU = '초' WHERE SEQ IN($seqStr)");

감사합니다..........^^
먼저 답 주시분 채택합니다...

여기 질답 게시판 기능
한개만 채택하는데.....두개 정도는 채택할 수 있으면 좋겠는데.......
그누보드 운영자님........2개정도 채택 하게 해 주세요..(주인장 볼려나?? ㅎㅎ)

업데이트를 할 테이블이 1가지이고

컬럼이 동일한 내용의 값이라면

즉, 레코드만 여러개라면

아래와 같이 

$arr = array ( '2380','2377','3767', ....  , '3798');

배열로 구성을 하시고

 

$sql = "update ttBusu set curBUSU = '초' where seq in (".implode(",",$arr).") ";

 

mysqli_query($sql);

 

로 하시면

 

쿼리는 1번수행으로도 처리가 됩니다.

 

 

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 129,117
© SIRSOFT
현재 페이지 제일 처음으로