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)");
업데이트를 할 테이블이 1가지이고
컬럼이 동일한 내용의 값이라면
즉, 레코드만 여러개라면
아래와 같이
$arr = array ( '2380','2377','3767', .... , '3798');
배열로 구성을 하시고
$sql = "update ttBusu set curBUSU = '초' where seq in (".implode(",",$arr).") ";
mysqli_query($sql);
로 하시면
쿼리는 1번수행으로도 처리가 됩니다.
답변을 작성하시기 전에 로그인 해주세요.