2013-03-06 16 views
1

예를 들어, 내 HTML 페이지에 4 개의 드롭 다운 목록이 있습니다.필터 기능을 추가하는 방법은 무엇입니까?

DDL1 - OrgType 
DDL2 - Region 
DDL3 - Category 
DDL4 - Sector 

이제 어떻게 데이터베이스를 쿼리하고 1 개의 DDL을 검색 할 수 있습니까? 여기에 시나리오를 명확히하기 위해 여기에 시나리오가 있습니다.

Select * 
from table1 
where OrgTypeId = 1 
    AND RegionId = 1 
    AND CategId = 1 
    AND SectorId = 1 

이제 sectorId = 1 인 섹터 만 검색하려면 어떻게해야합니까? 다른 DDL은 어떤 값을 가질 수 있습니까?

+0

이 태그를 SQL Server와 MySQL로 태그 지정한 경우 사용중인 데이터베이스는 무엇입니까? – Taryn

+0

죄송합니다 ,,, Im using mysql – PeterS

+0

WHERE 절을 동적으로 작성하여 드롭 다운에 값이 선택된 필드 만 포함 시키거나 적어도 "unused"필드가 항상 평가할 수 있도록 where 절을 해킹해야합니다 참된. –

답변

0

WHERE 절에 원하는 기준 만 포함하십시오. 쿼리를 동적으로 작성하고 필요시 기준 만 삽입하거나 LIKE '%' 또는 IS NOT NULL 또는 스키마에 따라 항상 true를 반환하는 항목으로 설정하면됩니다.

예 :

--Removing unnecessary criteria 
Select * 
from table1 
where SectorId = 1 

--Making unused criteria always evaluate to true 
Select * 
from table1 
where OrgTypeId >= 0 
    AND RegionId >= 0 
    AND CategId >= 0 
    AND SectorId = 1 

두 번째 예는 위의 값은 모든 ints을 것으로 가정, 그들은 널 적이있어 없다고하지만, 대부분의 어떤 상황에 적용 할 수 있습니다.

+0

예를 들어 주시겠습니까? – PeterS

+0

@PeterS이 내 대답을 업데이트했습니다. –

+0

아 ...하지만 그 값은 내 드롭 다운 목록의 값입니다. 어떻게하면 내 ddl 값으로> = 0 값을 할당 할 수 있습니까? – PeterS

관련 문제