2013-08-20 3 views
1

우선, 내 질문에 맞는 제목이 무엇인지 잘 모르겠습니다. 자유롭게 변경하십시오.데이터베이스의 URL에서 특정 하위 도메인을 선택하십시오.

데이터베이스에 4 개의 URL이 있다고 가정 해 봅니다. 나는 단지이 두 URL 지정된 사용자 입력 joomla.mywebsite.net에서

http://joomla.mywebsite.net/3968923121/2412583825325/ 
http://belowel.com.joomla.mywebsite.net/images/6058873435/1432583285194/ 

을 선택하려면 어떻게

http://joomla.mywebsite.net/3968923121/2412583825325/ 
http://www.joomla.mywebsite.net.talleresbanfield.com.ar/cadastrar/index.html 
http://belowel.com.joomla.mywebsite.net/images/6058873435/1432583285194/ 
http://test.com.datacity.mywebsite.net/images/joomla.mywebsite.net/ 


. SELECT 동안 LIKE %...%을 사용할 수 있지만 모두 4 개의 URL이 선택됩니다. 단지 서브 도메인으로 정확하게 joomla.mywebsite.net을 사용하는 URL 만 표시하면됩니다.

우선 모든 URL을 선택하고 배열에 할당하고 preg_match 또는 정규식을 사용하여 일치를 수행하려고하지만 선택시 편도 쿼리를 수행하는 것이 효율적일까요?

미리 감사드립니다.

+0

아마도 그렇게 할 수있는 방법은 백만 가지가 될 것입니다. 당신은 그들을 밖으로 인쇄 할 수 있습니다, 병에 넣고, 바다에 던져, 그 중 단지 충분히, 잠깐 만요 바다의 반대편에있는 친구들에게 전화를하십시오. 그래서 정말로 대답하기가 어렵습니다. – hakre

답변

1

당신은 같은 것을 시도해 볼 수도 있습니다 : 기본적으로

http://joomla.mywebsite.net 
http://www.joomla.mywebsite.net.talleresbanfield.com.ar 
http://belowel.com.joomla.mywebsite.net 
http://test.com.datacity.mywebsite.net 

이 같은 SUBSTRING_INDEX를 사용하여

SELECT url 
FROM t1 
WHERE SUBSTRING_INDEX(url,'/',3) LIKE '%joomla.mywebsite.net' 

SQLFiddle Demo

을, 당신은 문자열의이 부분을 비교하는 최대 세 번째까지의 URL /

+0

안녕하세요, http://sqlfiddle.com/#!2/f8d3e/1에 잘못된 URL 인 'http : // hasjid5.comjoomla.mywebsite.net/bevoq/sygxgpmh.php'을 추가하고 잘못된 하위 도메인이 일치했습니다. 목록에. 이 문제를 해결할 수있는 아이디어가 있습니까? 나를 소개해 주셔서 감사합니다 sqlfiddle btw .. – sg552

+1

@ sg552 글쎄, 이런 식으로 뭔가를 할 수있다 :'% .joomla.mywebsite.net '과 같은 substring_index (url,'/ ', 3) 또는 substring_index (url , '/', 3) '%/joomla.mywebsite.net'과 같이 http://sqlfiddle.com/#!2/f8d3e/6을보십시오 – DarkAjax

+0

나는 당신의 논리가 없습니다. 고맙습니다. – sg552

관련 문제