SQL 에서 DB 에 저장할때 코드를 좀더 단순화 하고 싶습니다..

SQL 에서 DB 에 저장할때 코드를 좀더 단순화 하고 싶습니다..

QA

SQL 에서 DB 에 저장할때 코드를 좀더 단순화 하고 싶습니다..

본문

안녕하세요!

sir 여러 고수님들의 도움으로 등록, 보기에서 이제 저장까지 왔습니다.

 

 $sql1 = "UPDATE test_db SET test_02=$modify02_1 where test_01=$modify01_1"; sql_query($sql1);
 $sql2 = "UPDATE test_db SET test_02=$modify02_2 where test_01=$modify01_2"; sql_query($sql2);
 $sql3 = "UPDATE test_db SET test_02=$modify02_3 where test_01=$modify01_3"; sql_query($sql3);
 $sql4 = "UPDATE test_db SET test_02=$modify02_4 where test_01=$modify01_4"; sql_query($sql4);
 $sql5 = "UPDATE test_db SET test_02=$modify02_5 where test_01=$modify01_5"; sql_query($sql5);
 $sql6 = "UPDATE test_db SET test_02=$modify02_6 where test_01=$modify01_6"; sql_query($sql6);
 $sql7 = "UPDATE test_db SET test_02=$modify02_7 where test_01=$modify01_7"; sql_query($sql7);
 $sql8 = "UPDATE test_db SET test_02=$modify02_8 where test_01=$modify01_8"; sql_query($sql8);
 $sql9 = "UPDATE test_db SET test_02=$modify02_9 where test_01=$modify01_9"; sql_query($sql9);

echo "<script>location.href='$PHP_SELF';</script>";

 

이런식으로 modify01_1 ~ modify01_9 까지의 내용을 날리고 있는데요

이걸 for ($i=1; $i<=200; $i++) { 이런식으로 $i 값으로 하려합니다.

 

그리고  $i<=200 이부분에서 200개 만드는데 이걸 데이터의 갯수로 하면 어떻게 될까요?

test_01 컬럼에는 숫자만 들어갑니다.

 

항상 감사합니다^^

 

이 질문에 댓글 쓰기 :

답변 5

for ($i2=1; $i2<=9; $i2++) { 

  $sql = "UPDATE adp_test_db SET adp_test_02=$modify02_'".$i2."' where adp_test_01='".$i2."'";

  sql_query($sql);

}

 

수정전: $sql = "UPDATE adp_test_db SET adp_test_02=$modify02_'".$i2."' where adp_test_01='".$i2."'";
 
수정후: $sql = "UPDATE adp_test_db SET adp_test_02='${"modify02_$i2"}' where adp_test_01='".$i2."'";

이런식으로 바꿔보세요 ~

 

 for ($=0; $i<=200; $++) { 

 $sql = “UPDATE test_db SET test_02 = $modify02_\$i\ where test_01 = $modify01_\$i\”;

 } 

 sql_query($sql);

 

$modify02_1 과 $modify01_1

$modify02_2 와 $modify01_2

~~

~~

$modify02_200 과 $modify01_200

 

위 앞뒤 값 사이에 어떤 규칙 같은 것은 없나요?

쿼리를 한꺼번에 200번씩 실행한다는 것은 거시기 한 일입니다

질문한 코드를 for문으로 간단히 하는 것은 망고님 답변처럼 하면 되는 것이지만....

구체적으로 어떤 내용의 작업인지 한번 올려보세요

 

 

 

균이님 안녕하세요!!

요즘 sql 쪽에 호기심이 생겨서 간이 게시판 형태로 만들어보고 있는 중이에요.
데이터를 DB에 저장하고 불러오는데
전에는 1쿼리 == 1 DB 이런식으로 불러왔는데요
그렇게 하다보니 테이블 안의 쿼리가 너무 많아져서 리스트 형식으로 사용해보려고 공부중입니다.

다행이 망고님 답변으로 해결이 되었네요.

혹시 쿼리를 한번에 200개 실행하면 서버에 부하가 많이 갈까요?
아까 모르고 코딩을 잘못해서 무한루프로 하니 서버가 멈추더라구요..

그리고 이 쿼리는 관리자만 설정하는 용도로 사용할거라
일반 유저는 사용을 안하구요

만약 200개 정도 쿼리를 날리면 서버 부하가 심할까요?

짱구를 좀 굴려서

for ($i2=1; $i2<=9; $i2++) { 
  $sql = "UPDATE adp_test_db SET adp_test_02=$modify02_'".$i2."' where adp_test_01='".$i2."'";
}

sql_query($sql);

 

이렇게 날려봤는데 잘 안되네요..

 

균이님 댓글엔 표를 사용할수 없어서 여기에 다시 남깁니다.

 

DB 테이블명 : test_db

 

 test_01(id)

 test_02(과일)

 test_03(꽃)

 test_04(동물)

 1

 딸기

 장미

 사자

 2

 사과

 데이지

 호랑이

 3

 수박

 백합

 늑대

 

 

 

DB단이 이런 구조로 되어있는데요

DB를 가져오고 만드는건 알겠는데 수정이 잘 안되어서요.

 

id 단에는 숫자만 들어가게 만들었구요

test_02, test_03, test_04 이 부분을 수정해야하는데

수정 기준을 test_01 값으로 찾아서 수정하는걸 공부하고 있거든요

 

개별적으로 수정은 간단한데 리스트상의 모든 걸 수정하려면 그만큼 쿼리를 날려야해서

$i 로 해결하려 한것입니다.

 

이것보다 더 좋은 방법이 있으면 좋겠지만

제 이해 수준에서는 이 방법이 제일먼저 떠오르더라구요^^;;

 

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 0 | RSS
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

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