본문 바로가기
Coding/PHP

[PHP] 하나의 식별자로 SQL 쿼리 상황별 조정

by jamong1014 2022. 6. 25.
반응형

상황 가정

  • 하나의 식별자로 판별할 수 있는 아이디를 만들고 그 아이디의 value가 1 또는 0일때 다른 데이터 테이블의 SQL 쿼리를 업데이트 해야되는 상황

- 식별자 아이디 생성 (test1.php)

<?php
	include "db.php";
	
	$query1 = "select number from test where idx='1'";
	$query2 = mysqli_query($dbh, $query1);
	$data2 = mysqli_fetch_array($query2);
	$data3 = $data2['number'];
	
	if($data2['number'] == '0')
	{
		mysqli_query($dbh, "UPDATE test SET number='1' WHERE idx='1'");
	
	}else {
	
		mysqli_query($dbh, "UPDATE test SET number='0' WHERE idx='1'");
	}
	
?>

  • number 컬럼이 식별자 아이디

리절트 셋으로 리턴한 값 $data2['number']을 조회해보면 select number from test where idx='1' 로 조회한 결과 값 '0'이 뜸

만약 조회한 값이 0이면 1로 업데이트 아니면 0으로 다시 업데이트

 

'number' value 값이 0과 1로 계속 달라져 각각 경우의 수에 따라서 상황에 맞게 다른 테이블의 쿼리를 조정할 계획 


- 생성한 식별자 아이디로 상황에 맞게 쿼리문 조정 (test2.php)

<?php

$query1 = "select number from test where idx='1'";
$query2 = mysqli_query($dbh, $query1);
$data = mysqli_fetch_array($query2);

if($data['number'] == '0')
{
	mysqli_query($dbh, "UPDATE test2 SET id='$urlres' WHERE idx='1'");

}else {
	
	mysqli_query($dbh, "UPDATE test2 SET id='$urlres' WHERE idx='2'");

}

?>

 

  • id 컬럼이 위에 number 컬럼 값이 바뀌는 것에 따라서 어느 열이 업데이트 되는지를 선택 

$data['number'] 의 value 가 ==(같을 경우) 0일 경우 test2 테이블 id의 $urlres(API 데이터가 들어갈 변수)를 idx 1 열에 업데이트 0이 아닐 경우 idx 2 열에 업데이트

 

 

 

 

 

 

반응형