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

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

돌소프트 6년 전 조회 9,492

안녕하세요?

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

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

 

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

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

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

</p>

<p><?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); // 데이터베이스 연결</p>

<p>if (mysqli_connect_errno()){

 echo "MySQL 연결 실패 : " . mysqli_connect_error();

}</p>

<p>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");</p>

<p>mysqli_close($conn);

?></p>

<p>

 

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

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

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

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

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

 

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

답변 2개

채택된 답변
+20 포인트
6년 전

for문 loop로 하는게 아닙니다

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

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

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

답변에 대한 댓글 1개

돌소프트
6년 전
감사합니다..........^^
먼저 답 주시분 채택합니다...

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

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

플래토
6년 전

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

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

즉, 레코드만 여러개라면

아래와 같이 

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

배열로 구성을 하시고

 

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

 

mysqli_query($sql);

 

로 하시면

 

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

 

 

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

답변에 대한 댓글 1개

돌소프트
6년 전
감사합니다.........^^
두분다 채택하고 싶은데........여기 사이트는 두개 채택하는 기능이 없네요..

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

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

로그인