2개의 테이블 필드 값 비교

2개의 테이블 필드 값 비교

QA

2개의 테이블 필드 값 비교

본문

다른 테이블 2개의 값을 비교중인데 잘 안되네요.

 

$view['wr_2'] 가 비교 대상이고, $value 배열형태의 값을 모두 가져와 하나씩 다 대입해서 비교하고 $value 에 있는 문자열이 $view['wr_2']에 조금이라도 포함되면 $value와 같은 테이블의 특정 필드 그 값들만 출력을 하고 싶습니다.

방법이 없나요? sql문으로 해야 하나요?

 

$arr_test = explode(',',$row['array_test']);

foreach($arr_test as $key=>$value){

 

if(strpos($view['wr_2'], $value) !== false) {  
     echo "포함되어 있습니다."; 

     //echo $row['name'];  // $value 와 같은 테이블의 필드 값
     } else {  
     //echo "없습니다.";  
 }

}

이 질문에 댓글 쓰기 :

답변 1

질문 참 어렵게 합니다

조금이라도 포함되면 $value와 같은 테이블의 특정 필드 <--이건 무슨 말인가요? A테이블 B테이블

명확히 구분해서 설명하면 쉽지않나요?

또한 $view['wr_2'] , $row['array_test']에 들어잇는 실제 값을 보여주면서 질문하면 알아먹기도 쉬울텐데요

하여튼 $row['array_test']에 있는 값을 나눈 것들이 wr_2에 들어있는 레코드들을 추출한다 뭐 그런 말이겠죠?

 

$arr_test = explode(',',$row['array_test']);

if($arr_test[0]){

$add_qry=array();

foreach($arr_test as $key=>$value) $add_qry[]=" INSTR(wr_2, $value)";

$add_qryStr= implode(" or ", $add_qry);

$qq=sql_query("select * from 테이블 where $add_qryStr ");

}

 

 

균이님 도움 주셔서 감사하고 죄송합니다. 프로그래밍을 제대로 배운적도 없고 초보자라 제가 아직 많이 부족합니다. 제가 봐도 상세히 설명을 하지 않은것 같네요.

도움주신 코드를 아래와 같이 수정하여 출력 해봤습니다.

$arr_test = explode(',',$row['array_test']);

if($arr_test[0]){

$add_qry=array();

foreach($arr_test as $key=>$value)

$add_qry[]="$view[wr_2], $value";

$add_qryStr= implode("<br><br>", $add_qry);

print_r ($add_qryStr);

echo "<br><br>".$key . " : " . $value . "</br>";

//$qq=sql_query("select * from 테이블 where $add_qryStr ");

}
echo "<br>";
--------------------------------------------------------------------

아래는 print_r ($add_qryStr); 의 출력 값 입니다.

슬기로운인터넷, 일회용마스크사용
슬기로운인터넷, 일회용
슬기로운인터넷, 사용
슬기로운인터넷, 그누보드게시판
슬기로운인터넷, 그누보드
슬기로운인터넷, 그누
슬기로운인터넷, 내용작성인터넷
슬기로운인터넷, 인터넷
슬기로운인터넷, 인터넷여분필드
슬기로운인터넷, 인터넷여분
슬기로운인터넷, 슬기

---------------------------------------------------------------------

아래는 echo $key . " : " . $value . "</br>"; 출력 값 입니다.

2 : 사용
2 : 그누
1 : 인터넷
2 : 슬기

---------------------------------------------------------------------

제가 원하는 결과 값은 문자열을 포함하는 2개(슬기로운인터넷, 인터넷 과 슬기로운인터넷, 슬기)만 가져오고 싶은데 어렵네요.

설명으로는 이해불가 입니다
이해해보려고 머리를 싸매고 생각한 결과 아래와 같이 추측 됩니다만

$view[wr_2] 에는 <슬기로운인터넷>이 들어잇고
$row['array_test']를 자르면  <사용  /  그누 / 인터넷 / 슬기>  4개의 배열이 생기는데
<슬기>가 $view[wr_2]에 문자열이 들어있으므로 이것을 추출해온다
이런 것 아닌가요?

답변의 코드는 이렇게 됩니다

select * from 테이블 where INSTR(wr_2,'사용') or INSTR(wr_2,'그누') or INSTR(wr_2,'인터넷') or INSTR(wr_2,'슬기')

즉 wr_2에 사용 또는 그누 또는 인터넷 또는 슬기 가 포함되어잇으면 추출하라

더 이상 답변은 어렵습니다

답변을 작성하시기 전에 로그인 해주세요.
전체 153
QA 내용 검색

회원로그인

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