초보를 위한 SELECT (셀렉트박스) 함수로 만들어 쉽게 사용하기. 정보
초보를 위한 SELECT (셀렉트박스) 함수로 만들어 쉽게 사용하기.본문
소스를 줄여보기 위한 방법으로 셀렉트박스의 옵션부분을 함수로 만들어서 쉽게 사용하는 방법입니다.
옵션값이 많을 경우 소스를 줄여주는 효과가 있습니다.
* 옵션값의 구분은 "|"으로 되어 있으나 다른 문자로 변경해서 사용해도 됩니다.
1. 함수부분 : 아래 소스를 /lib/common.lib.php 파일에 추가하거나 페이지에 직접 추가해도 됩니다.
2. 사용법은 아래와 같이...
3. 다른 사용법 (1)
3. 다른 사용법 (2)
4. 다른 사용법 : DB내용을 불러와서 만들기.
옵션값이 많을 경우 소스를 줄여주는 효과가 있습니다.
* 옵션값의 구분은 "|"으로 되어 있으나 다른 문자로 변경해서 사용해도 됩니다.
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
3
댓글 13개
좋은정보 감사합니다.
게시판의 white, read, list로 구분해서 설명해주시면 저같은 초보에게는 감사하겠습니다.
좀 이해력이 떨어져서요
좀 이해력이 떨어져서요
white=>write ㅎ
게시판 작성시 여분필드 wr_1 값에 지역명을 저장한다는 가정하에 설명 덧붙일게요.
게시판에 글을 작성하는 사람은 서울, 경기, 대전, 대구, 부산, 목포, 광주, 울산, 등등...........중에서 한개를 선택해야 겠죠.
그럼, 스킨폴더에 write.skin.php 파일 수정해야겠죠.
이런 형태로 만드는게 일반적이죠.. 요걸 본문내용의 탭 내용대로 만들자고 한다면..
이렇게 간단하게 쓸수 있다는 겁니다.
옵션갯수가 몇개 안된다면 첫번째 방법으로 사용해도 불편함이 없지만.. 옵션의 갯수가 수십개 이상 된다면 소스가 상당히 길어지겠죠.
충분히 이해가 되셨나 모르겠네요.
몇번 시도하다 보면 쉽게 이해가 될거에요.
게시판에 글을 작성하는 사람은 서울, 경기, 대전, 대구, 부산, 목포, 광주, 울산, 등등...........중에서 한개를 선택해야 겠죠.
그럼, 스킨폴더에 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>
이렇게 간단하게 쓸수 있다는 겁니다.
옵션갯수가 몇개 안된다면 첫번째 방법으로 사용해도 불편함이 없지만.. 옵션의 갯수가 수십개 이상 된다면 소스가 상당히 길어지겠죠.
충분히 이해가 되셨나 모르겠네요.
몇번 시도하다 보면 쉽게 이해가 될거에요.
좋은정보 감사합니다.
좋은정보 감사합니다^^
감사합니다
찾던 정보인대
감사합니다
감사합니다
감사합니다.
감사합니다~!
실행해보니 바뀌는 속도가 살짝 딜레이가 있네요
유용하네요..
좋은 정보 감사합니다