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

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

QA

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

본문

안녕하세요?

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

이걸 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번수행으로도 처리가 됩니다.

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 25
QA 내용 검색

회원로그인

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