여분필드 상세검색 정보
여분필드 상세검색
본문
wr_10 을
$wr_10 = "$ext10_00|$ext10_01|$ext10_02|$ext10_03|$ext10_04|$ext10_05|$ext10_06|$ext10_07|$ext10_08|$ext10_09";
처럼 쪼개서 쓰고 있습니다.
이중에 $ext10_01 에 들어가는 내용만 검색을 해서 데이터를 출력하고 싶어요.
다른 질문을 검색 해보니, 검색에 쓰이는 필드는 단독으로 사용하라고 하더군요.
하지만, 한두개가 아니라서 구지 저런식으로 사용해야하는데,
어떻게 하면 좋을까요?
if ($Ufield) $sql_search .= " and (wr_10 like '%$Ufield%') ";
이렇게 하면 검색은 되지만,
다른 부분에 들어간것까지 다 포함되기때문에 $ext10_01 에 들어가는 내용만 검색하고 싶거든요.
꼭 알려주세요~
$wr_10 = "$ext10_00|$ext10_01|$ext10_02|$ext10_03|$ext10_04|$ext10_05|$ext10_06|$ext10_07|$ext10_08|$ext10_09";
처럼 쪼개서 쓰고 있습니다.
이중에 $ext10_01 에 들어가는 내용만 검색을 해서 데이터를 출력하고 싶어요.
다른 질문을 검색 해보니, 검색에 쓰이는 필드는 단독으로 사용하라고 하더군요.
하지만, 한두개가 아니라서 구지 저런식으로 사용해야하는데,
어떻게 하면 좋을까요?
if ($Ufield) $sql_search .= " and (wr_10 like '%$Ufield%') ";
이렇게 하면 검색은 되지만,
다른 부분에 들어간것까지 다 포함되기때문에 $ext10_01 에 들어가는 내용만 검색하고 싶거든요.
꼭 알려주세요~
댓글 전체

$wr_10에 각각 들어 가는 값들이 겹치지 않는다면
if ($Ufield) $sql_search .= " and (wr_10 like '%|$Ufield|%') ";
정도면 될 겁니다.
레코드 수가 많다면 지양해야 합니다.
if ($Ufield) $sql_search .= " and (wr_10 like '%|$Ufield|%') ";
정도면 될 겁니다.
레코드 수가 많다면 지양해야 합니다.

또 다른 방법은
substring_index()함수를 쓰는 것입니다.
역시 레코드 수가 많다면 안 쓰는 것이 좋습니다.
and substring_index( substring_index( wr_10 '|', 2), '|' -1) = '$Ufiled'
substring_index()함수를 쓰는 것입니다.
역시 레코드 수가 많다면 안 쓰는 것이 좋습니다.
and substring_index( substring_index( wr_10 '|', 2), '|' -1) = '$Ufiled'

엑스엠엘님, 정말 감사드립니다.
substring_index()함수를 쓰니 잘 되네요. ^^
substring_index()함수를 쓰니 잘 되네요. ^^