채택완료

변수에 따라 insert 쿼리 다르게 지정

2025-04-09 (수) 17:11:53 3,247

$zzzz   라는 변수가 있습니다

$zzzz 변수값이 1, 2, 3,  4, 5, 6, 7, 8, 9    이렇게 9가지중 한개가 들어 오고

insert 쿼리가 3개가 작성되어 있고 

1, 2 가 들어 올경우         1번 insert 쿼리

3, 4, 5, 6 이 들어 올경우   2번 insert 쿼리

7, 8, 9  가 들어 올경우     3번 insert 쿼리 

$zzzz 에 변수가 위와 같이 들어올경우

3가지 insert 중 1개만 작동되어서 DB에 저장되게 할수 있는 방법이 있을까요?

|

답변 4개 / 댓글 5개

채택된 답변
+20 포인트

이런식으로 if문으로 하던지 switch문중 편하신쪽으로 하시면 됩니다.

if ($zzz=1 or $zzz=2){

  1번 쿼리실행

}else if ($zzz=3 or $zzz=4 or $zzz=5 or $zzz=6) {

 2번 쿼리 실행

}else if ($zzz=7 or $zzz=8 or $zzz=9) {

 3번 쿼리실행

}

답변에 대한 댓글 3개

PS. = 대신 == 사용하셔야 정상 작동.
네 실수 했네요 == 이거 맞습니다. ^^
2025-04-09 (수) 20:41:00
안그래도 왜안돼지?
하면서 씨름하고 있었음다 ~~

다음처럼 해도 됩니다

if ( $zzz<3)  1번 쿼리실행

else if ($zzz<7) 2번 쿼리 실행

else if ( $zzz <10) 3번 쿼리실행

if(in_array($z, [1,2])) { .... }
else if(in_array($z, [3,4,5,6])) { .... }

else if(in_array($z, [7,8,9])) { .... }

이런 식도 가능합니다.

답변에 대한 댓글 1개

2025-04-09 (수) 19:08:00
감사합니다
Copy
$zzzz = 4; // 예시값

switch ($zzzz) {
    case 1:
    case 2:
        // 1번 insert 쿼리
        $sql = "INSERT INTO my_table (col1, col2) VALUES ('value1', 'value2')";
        break;

    case 3:
    case 4:
    case 5:
    case 6:
        // 2번 insert 쿼리
        $sql = "INSERT INTO my_table (col1, col2) VALUES ('value3', 'value4')";
        break;

    case 7:
    case 8:
    case 9:
        // 3번 insert 쿼리
        $sql = "INSERT INTO my_table (col1, col2) VALUES ('value5', 'value6')";
        break;

    default:
        $sql = null; // 예외 처리용
        break;
}

if ($sql) {
    sql_query($sql); // 그누보드용 DB 실행 함수
}

답변에 대한 댓글 1개

2025-04-09 (수) 19:07:51
감사합니다

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