소스를 줄여보기 위한 방법으로 셀렉트박스의 옵션부분을 함수로 만들어서 쉽게 사용하는 방법입니다.
옵션값이 많을 경우 소스를 줄여주는 효과가 있습니다.
* 옵션값의 구분은 "|"으로 되어 있으나 다른 문자로 변경해서 사용해도 됩니다.
1. 함수부분 : 아래 소스를 /lib/common.lib.php 파일에 추가하거나 페이지에 직접 추가해도 됩니다.
[code]
// 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);
}
[/code]
2. 사용법은 아래와 같이...
[code]
<select name="area" class="area">
<?php echo option_str("=선택=|서울|경기|대전", "|서울|경기|대전", $area); ?>
</select>
[/code]
3. 다른 사용법 (1)
[code]
<?php
$text = "|서울|경기|대전";
$value = "|서울|경기|대전";
?>
<select name="area" class="area">
<?php echo option_str("=선택=".$text, $value, $area); ?>
</select>
[/code]
3. 다른 사용법 (2)
[code]
<?php
$text = "=선택=|서울|경기|대전";
$value = "|서울|경기|대전";
?>
<select name="area" class="area">
<?php echo option_str($text, $value, $area); ?>
</select>
[/code]
4. 다른 사용법 : DB내용을 불러와서 만들기.
[code]
<?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>
[/code]
옵션값이 많을 경우 소스를 줄여주는 효과가 있습니다.
* 옵션값의 구분은 "|"으로 되어 있으나 다른 문자로 변경해서 사용해도 됩니다.
1. 함수부분 : 아래 소스를 /lib/common.lib.php 파일에 추가하거나 페이지에 직접 추가해도 됩니다.
[code]
// 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);
}
[/code]
2. 사용법은 아래와 같이...
[code]
<select name="area" class="area">
<?php echo option_str("=선택=|서울|경기|대전", "|서울|경기|대전", $area); ?>
</select>
[/code]
3. 다른 사용법 (1)
[code]
<?php
$text = "|서울|경기|대전";
$value = "|서울|경기|대전";
?>
<select name="area" class="area">
<?php echo option_str("=선택=".$text, $value, $area); ?>
</select>
[/code]
3. 다른 사용법 (2)
[code]
<?php
$text = "=선택=|서울|경기|대전";
$value = "|서울|경기|대전";
?>
<select name="area" class="area">
<?php echo option_str($text, $value, $area); ?>
</select>
[/code]
4. 다른 사용법 : DB내용을 불러와서 만들기.
[code]
<?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>
[/code]
댓글 13개
게시글 목록
| 번호 | 제목 |
|---|---|
| 24318 | |
| 24317 | |
| 24315 | |
| 24309 | |
| 24294 | |
| 24293 | |
| 24277 | |
| 24262 | |
| 24260 | |
| 24253 | |
| 24251 | |
| 24236 | |
| 24233 | |
| 24228 | |
| 24226 | |
| 24221 | |
| 24214 | |
| 24203 | |
| 24201 | |
| 24199 | |
| 24196 | |
| 24195 | |
| 24194 | |
| 24192 | |
| 24191 | |
| 24187 | |
| 24185 | |
| 24183 | |
| 24172 | |
| 24168 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기