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 ");
}
답변에 대한 댓글 3개
이해해보려고 머리를 싸매고 생각한 결과 아래와 같이 추측 됩니다만
$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에 사용 또는 그누 또는 인터넷 또는 슬기 가 포함되어잇으면 추출하라
더 이상 답변은 어렵습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
도움주신 코드를 아래와 같이 수정하여 출력 해봤습니다.
$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개(슬기로운인터넷, 인터넷 과 슬기로운인터넷, 슬기)만 가져오고 싶은데 어렵네요.