반응형
일단 인덱스 리스트에서...
list.php?i=a // 'a'로 시작하는 subject 검색
list.php?i=1 // '1'로 시작하는 subject 검색
list.php?i=ㄱ // 'ㄱ'으로 시작하는 subject 검색
이런식으로 검색할 인덱스를 넘겨 줍니다.
그런다음 검색할 인덱스($i)의 상태에 따라서 쿼리문을 만듭니다..
상당히 무슥하게 하나씩 처리해 주었는데... ㅡㅡ;;
한글의 경우 별다른 방법이 없을듯 하구요..
주석은 간단하게 달았습니다...
ex> 마지막 'ㅎ'에 대해서 처리하는것
'ㅎ'은 그냥 '하' 이후의 모든 값을 가져오도록 하였습니다. ㅡㅡ;;
-----------------------------------------------------------------------------------
// 검색할 인덱스가 숫자이거나 영문자라면..
if( preg_match( "/[0-9a-zA-Z]/", $i ) )
{
// 매우 단순 간단한 정규식 검색....
$query = "select subject from table_name where subject RLIKE '^$i' order by subject";
}
else if( "ㄱ" == $i ) // 'ㄱ'으로 시작하는 subject 검색
{
$query = "select subject from table_name
where subject RLIKE '^(ㄱ|ㄲ)'
OR ( subject >= '가' AND subject < '나' )
order by subject";
}
else if( "ㄴ" == $i ) // 'ㄴ'으로 시작하는 subject 검색
{
$query = "select subject from table_name
where subject RLIKE '^ㄴ'
OR ( subject >= '나' AND subject < '다' )
order by subject";
}
...
...
// 중간 생략.. 'ㄱ', 'ㄲ' 같이 쌍자음(이거 제대로된 명칭이 모죠?? ㅡㅡ;; ) 만 주의하면 됩니다.
...
...
else if( "ㅎ" == $i )
{
$query = "select subject from table_name
where subject RLIKE '^ㅎ' OR subject >= '하'
order by subject";
}
// get list data && print list
$result = mysql_query( $query ) or die( "mysql query error - $query<br>" );
while( $row = mysql_fetch_array( $result, MYSQL_ASSOC ) )
{ echo htmlspecialchars( stripslashes( $row[subject] ) ) ."<br>"; }
------------------------------------------------------------------------------------
list.php?i=a // 'a'로 시작하는 subject 검색
list.php?i=1 // '1'로 시작하는 subject 검색
list.php?i=ㄱ // 'ㄱ'으로 시작하는 subject 검색
이런식으로 검색할 인덱스를 넘겨 줍니다.
그런다음 검색할 인덱스($i)의 상태에 따라서 쿼리문을 만듭니다..
상당히 무슥하게 하나씩 처리해 주었는데... ㅡㅡ;;
한글의 경우 별다른 방법이 없을듯 하구요..
주석은 간단하게 달았습니다...
ex> 마지막 'ㅎ'에 대해서 처리하는것
'ㅎ'은 그냥 '하' 이후의 모든 값을 가져오도록 하였습니다. ㅡㅡ;;
-----------------------------------------------------------------------------------
// 검색할 인덱스가 숫자이거나 영문자라면..
if( preg_match( "/[0-9a-zA-Z]/", $i ) )
{
// 매우 단순 간단한 정규식 검색....
$query = "select subject from table_name where subject RLIKE '^$i' order by subject";
}
else if( "ㄱ" == $i ) // 'ㄱ'으로 시작하는 subject 검색
{
$query = "select subject from table_name
where subject RLIKE '^(ㄱ|ㄲ)'
OR ( subject >= '가' AND subject < '나' )
order by subject";
}
else if( "ㄴ" == $i ) // 'ㄴ'으로 시작하는 subject 검색
{
$query = "select subject from table_name
where subject RLIKE '^ㄴ'
OR ( subject >= '나' AND subject < '다' )
order by subject";
}
...
...
// 중간 생략.. 'ㄱ', 'ㄲ' 같이 쌍자음(이거 제대로된 명칭이 모죠?? ㅡㅡ;; ) 만 주의하면 됩니다.
...
...
else if( "ㅎ" == $i )
{
$query = "select subject from table_name
where subject RLIKE '^ㅎ' OR subject >= '하'
order by subject";
}
// get list data && print list
$result = mysql_query( $query ) or die( "mysql query error - $query<br>" );
while( $row = mysql_fetch_array( $result, MYSQL_ASSOC ) )
{ echo htmlspecialchars( stripslashes( $row[subject] ) ) ."<br>"; }
------------------------------------------------------------------------------------
반응형
'9. 프로젝트 > └ 02. 홈페이지제작' 카테고리의 다른 글
sql order by 문법 (0) | 2008.07.23 |
---|---|
버튼을 클릭하면 텍스트박스의 값이 사라지는 자바스크립트~ (0) | 2008.07.17 |
엑셀->mysql (0) | 2008.05.26 |
폼 추가/삭제 (0) | 2008.04.22 |
주민등록번호를 입력하면 생년월일을 자동입력 (0) | 2008.04.22 |