변수에 따라 insert 쿼리 다르게 지정
본문
$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
이런식으로 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번 쿼리실행
}
$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 실행 함수
}
다음처럼 해도 됩니다
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])) { .... }
이런 식도 가능합니다.
답변을 작성하시기 전에 로그인 해주세요.