2014-06-11 5 views
-1

이미 추가 한 특성을 기반으로 SQL 데이터베이스에서 사용자를 선택하려고합니다. 이 속성은 모든 웹 사이트 도메인 이름으로 시작하는 링크입니다.열 값을 기준으로 한 DB 결과 필터링

PHP에서 선택한 도메인 이름을 기반으로 행을 필터링 할 수있는 명령은 무엇입니까? 물론 링크의 나머지 부분을 무시하고 도메인 이름 만 고려하십시오.

+1

SQL 쿼리에 WHERE 절이 있습니까? –

+0

열 내에서 전체 값을 찾습니다. 값을 부분적으로 검색해야합니다. 즉, 'www.domainname123.com'만 찾아서 'www.domainname123.com/123456'링크를 필터링해야합니다. @Mark – user225638

+0

전체 열에 제한되지 않습니다. MySQL 함수 (또는 LIKE)를 사용하여 열에서 부분적으로 검색하거나 CONCAT()을 통해 여러 열에서 검색 할 수 있습니다. 여기서 [regex] (http://dev.mysql.com/doc/refman/5.6/en/regexp.html)와 함께 WHERE을 사용하여 도메인을 분리하거나 LIKE를 사용할 수 있습니다 –

답변

0

PHP를 "모든 크기에 맞는 크기"로 사용할 수 있지만 이 작업에 적합한 도구가 아닙니다.. 데이터베이스 엔진은 이러한 작업을 훨씬 효율적으로 처리합니다. 게다가 필요하지 않은 필터링되지 않은 데이터를 전송하는 번거 로움을 덜어줍니다.

당신의 묘사에서

쿼리가

select user_id, username from users where users.url like '%domain.com%' 

이 당신에게 단지 관련 행을 줄 것이다 있어야한다. 그런 다음 PHP parse_url 함수를 사용하여 호스트를 잡고 나머지는 버릴 수 있습니다.

0

당신은 데이터베이스에 쿼리에 WHERE 절을 사용할 수 있습니다 :

SELECT id, username, other_field FROM your_table WHERE domain LIKE '%your_domain_variable%' 

테이블의 도메인 필드는 사용자가 제공하는 도메인 변수에 공급되는 어떤 도메인처럼 사용자가 반환.

관련 문제