초보를 위한 SELECT (셀렉트박스) 함수로 만들어 쉽게 사용하기. > 그누보드5 팁자료실

그누보드5 팁자료실

초보를 위한 SELECT (셀렉트박스) 함수로 만들어 쉽게 사용하기. 정보

초보를 위한 SELECT (셀렉트박스) 함수로 만들어 쉽게 사용하기.

본문

소스를 줄여보기 위한 방법으로 셀렉트박스의 옵션부분을 함수로 만들어서 쉽게 사용하는 방법입니다.
옵션값이 많을 경우 소스를 줄여주는 효과가 있습니다.


* 옵션값의 구분은 "|"으로 되어 있으나 다른 문자로 변경해서 사용해도 됩니다.



1. 함수부분 : 아래 소스를 /lib/common.lib.php 파일에 추가하거나 페이지에 직접 추가해도 됩니다.


// option_str(text,value,selected 속성을 줄 value)
function option_str($data1,$data2,$option_name=''){

	$data1=explode("|",$data1);  // 구분자가 "|"로 되어 있으나 다른 문자로 변경 가능
	$data2=explode("|",$data2);  // 구분자가 "|"로 되어 있으나 다른 문자로 변경 가능
	for($i=0; $i < count($data1); $i++){$dataA[$i]=trim($data1[$i]);}
	for($i=0; $i < count($data2); $i++){$dataB[$i]=trim($data2[$i]);}
	for($i=0; $i < count($data2); $i++){
		$selected=($option_name==$dataB[$i])? "selected":"";
		$result .="<option value='$dataB[$i]' $selected>$dataA[$i]</option>\n\t\t\t";
	}

	return($result);
}


2. 사용법은 아래와 같이...

<select name="area" class="area">
     <?php echo option_str("=선택=|서울|경기|대전", "|서울|경기|대전", $area); ?>
</select>



3. 다른 사용법 (1)

<?php
$text = "|서울|경기|대전";
$value = "|서울|경기|대전";

?>
<select name="area" class="area">
     <?php echo option_str("=선택=".$text, $value, $area); ?>
</select>



3. 다른 사용법 (2)

<?php
$text = "=선택=|서울|경기|대전";
$value = "|서울|경기|대전";

?>
<select name="area" class="area">
     <?php echo option_str($text, $value, $area); ?>
</select>


4. 다른 사용법 : DB내용을 불러와서 만들기.

<?php
$sql = "select id_no, name from TABLE_NAME where (1) order by name asc";
$result = sql_query($sql);
while($row=sql_fetch_array($result)) {
    $text .= "|".$row[name];
    $value .= "|".$row[id_no];
}
?>
<select name="area" class="area">
     <?php echo option_str("=선택=".$text, $value, $area); ?>
</select>
추천
3

댓글 13개

게시판 작성시 여분필드 wr_1  값에 지역명을 저장한다는 가정하에 설명 덧붙일게요.

게시판에 글을 작성하는 사람은 서울, 경기, 대전, 대구, 부산, 목포, 광주, 울산, 등등...........중에서 한개를 선택해야 겠죠.

그럼, 스킨폴더에 write.skin.php 파일 수정해야겠죠.

<select name="wr_1" id="wr_1" calss="wr_1">
       <option>=지역선택=</option>
       <option value="서울" <?php echo ($write[wr_1]=='서울')? "selected":""; ?>>서울</option>
       <option value="경기" <?php echo ($write[wr_1]=='경기')? "selected":""; ?>>경기</option>
       <option value="대전" <?php echo ($write[wr_1]=='대전')? "selected":""; ?>>대전</option>
       - 이하생략 -
</select>



이런 형태로 만드는게 일반적이죠.. 요걸 본문내용의 탭 내용대로 만들자고 한다면..


<select name="wr_1" id="wr_1" class="wr_1">
	<?php echo option_str("=지역선택=|서울|경기|대전", "|서울|경기|대전", $write['wr_1']; ?>
</select>


이렇게 간단하게 쓸수 있다는 겁니다.

옵션갯수가 몇개 안된다면 첫번째 방법으로 사용해도 불편함이 없지만.. 옵션의 갯수가 수십개 이상 된다면 소스가 상당히 길어지겠죠.

충분히 이해가 되셨나 모르겠네요.
몇번 시도하다 보면 쉽게 이해가 될거에요.
전체 14 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT