사용예
1. 배열 셋팅
<?php
$매물형태 = array('전세', '임대', '사글세/년세', '매매');
$옵션1 = array();
$옵션1[] = '에어컨';
$옵션1[] = '냉장고';
$옵션1[] = '세탁기';
$옵션1[] = '가스레인지';
$옵션1[] = '인덕션';
$옵션1[] = '전자레인지';
?>
2. write.skin.php 코딩
<tr>
<th scope="row">매물형태</th>
<td>
<?php
echo array_to_input($매물형태, 'radioValue', 'wr_7', '', $write['wr_7']);
?>
</td>
</tr>
<tr>
<th scope="row">옵션</th>
<td>
<?php
echo array_to_input($옵션1, 'checkValue', 'wr_10', '', $write['wr_10']);
?>
</td>
</tr>
※ 체크박스의 value값을 배열의 value값으로 설정 할 때 'checkValue'
※ 체크박스의 value값을 배열의 key값으로 설정 할 때 'checkKey'
3. write_update.head.skin.php 설정
<?php
@sort($wr_10);
$wr_10 = implode('|',$wr_10);
?>
4. view.skin.php 코딩
<tr>
<th>옵션</th>
<td colspan="3"><?=str_replace('|', ', ', $view['wr_10'])?></td>
</tr>
배열의 키값을 value로 사용하느냐, 배열의 값을 value로 사용하느냐는 옵션으로 조정가능하게 처리하고
귀차니즘을 줄이기 위해 만든 함수입니다.
최대 장점중 하나는 글쓰기 수정시 체크해주는 부분을 신경 안써도 된다고나 할까요.
셀렉트의 옵션도 해당 함수로 처리가능합니다.
각 생성되는 체크박스나 라디오에 id값은 자동으로 부여됩니다. class는 선택 입력가능하구요.
(js로 추가 처리 가능하게 해둔 부분입니다)
[함수]
function array_to_input($in_array, $type = 'selectKey', $input_name = '', $class_name = '', $in_value = null) {
if(!is_array($in_array)) return false;
$result = array();
$tmp_se = array();
if(isset($in_value)) {
if(strpos($type, 'select') === false) {
$check_text = ' checked';
} else {
$check_text = ' selected';
}
if(!is_array($in_value)) $in_value = array($in_value);
foreach($in_value as $value) {
if(strpos($type, 'Value') === false) {
$tmp_se[$value] = $check_text;
} else {
$tmp = array_search($value, $in_array);
if($tmp !== false) $tmp_se[$tmp] = $check_text;
}
}
}
if($type == 'selectKey') {
foreach($in_array as $key => $value) {
$result[] = '<option value="'.$key.'"'.$tmp_se[$key].'>'.$value.'</option>';
}
return implode("\n", $result);
}
if($type == 'selectValue') {
foreach($in_array as $key => $value) {
$result[] = '<option value="'.$value.'"'.$tmp_se[$key].'>'.$value.'</option>';
}
return implode("\n", $result);
}
if($type == 'radioKey') {
foreach($in_array as $key => $value) {
$result[] = '<input type="radio" name="'.$input_name.'" value="'.$key.'" class="'.$class_name.'" id="'.$input_name.$key.'"'.$tmp_se[$key].'> <label for="'.$input_name.$key.'">'.$value.'</label> ';
}
return implode("\n", $result);
}
if($type == 'radioValue') {
foreach($in_array as $key => $value) {
$result[] = '<input type="radio" name="'.$input_name.'" value="'.$value.'" class="'.$class_name.'" id="'.$input_name.$key.'"'.$tmp_se[$key].'> <label for="'.$input_name.$key.'">'.$value.'</label> ';
}
return implode("\n", $result);
}
if($type == 'checkKey') {
foreach($in_array as $key => $value) {
$result[] = '<input type="checkbox" name="'.$input_name.'[]" value="'.$key.'" class="'.$class_name.'" id="'.$input_name.$key.'"'.$tmp_se[$key].'> <label for="'.$input_name.$key.'">'.$value.'</label> ';
}
return implode("\n", $result);
}
if($type == 'checkValue') {
foreach($in_array as $key => $value) {
$result[] = '<input type="checkbox" name="'.$input_name.'[]" value="'.$value.'" class="'.$class_name.'" id="'.$input_name.$key.'"'.$tmp_se[$key].'> <label for="'.$input_name.$key.'">'.$value.'</label> ';
}
return implode("\n", $result);
}
return false;
}
1. 배열 셋팅
<?php
$매물형태 = array('전세', '임대', '사글세/년세', '매매');
$옵션1 = array();
$옵션1[] = '에어컨';
$옵션1[] = '냉장고';
$옵션1[] = '세탁기';
$옵션1[] = '가스레인지';
$옵션1[] = '인덕션';
$옵션1[] = '전자레인지';
?>
2. write.skin.php 코딩
<tr>
<th scope="row">매물형태</th>
<td>
<?php
echo array_to_input($매물형태, 'radioValue', 'wr_7', '', $write['wr_7']);
?>
</td>
</tr>
<tr>
<th scope="row">옵션</th>
<td>
<?php
echo array_to_input($옵션1, 'checkValue', 'wr_10', '', $write['wr_10']);
?>
</td>
</tr>
※ 체크박스의 value값을 배열의 value값으로 설정 할 때 'checkValue'
※ 체크박스의 value값을 배열의 key값으로 설정 할 때 'checkKey'
3. write_update.head.skin.php 설정
<?php
@sort($wr_10);
$wr_10 = implode('|',$wr_10);
?>
4. view.skin.php 코딩
<tr>
<th>옵션</th>
<td colspan="3"><?=str_replace('|', ', ', $view['wr_10'])?></td>
</tr>
배열의 키값을 value로 사용하느냐, 배열의 값을 value로 사용하느냐는 옵션으로 조정가능하게 처리하고
귀차니즘을 줄이기 위해 만든 함수입니다.
최대 장점중 하나는 글쓰기 수정시 체크해주는 부분을 신경 안써도 된다고나 할까요.
셀렉트의 옵션도 해당 함수로 처리가능합니다.
각 생성되는 체크박스나 라디오에 id값은 자동으로 부여됩니다. class는 선택 입력가능하구요.
(js로 추가 처리 가능하게 해둔 부분입니다)
[함수]
function array_to_input($in_array, $type = 'selectKey', $input_name = '', $class_name = '', $in_value = null) {
if(!is_array($in_array)) return false;
$result = array();
$tmp_se = array();
if(isset($in_value)) {
if(strpos($type, 'select') === false) {
$check_text = ' checked';
} else {
$check_text = ' selected';
}
if(!is_array($in_value)) $in_value = array($in_value);
foreach($in_value as $value) {
if(strpos($type, 'Value') === false) {
$tmp_se[$value] = $check_text;
} else {
$tmp = array_search($value, $in_array);
if($tmp !== false) $tmp_se[$tmp] = $check_text;
}
}
}
if($type == 'selectKey') {
foreach($in_array as $key => $value) {
$result[] = '<option value="'.$key.'"'.$tmp_se[$key].'>'.$value.'</option>';
}
return implode("\n", $result);
}
if($type == 'selectValue') {
foreach($in_array as $key => $value) {
$result[] = '<option value="'.$value.'"'.$tmp_se[$key].'>'.$value.'</option>';
}
return implode("\n", $result);
}
if($type == 'radioKey') {
foreach($in_array as $key => $value) {
$result[] = '<input type="radio" name="'.$input_name.'" value="'.$key.'" class="'.$class_name.'" id="'.$input_name.$key.'"'.$tmp_se[$key].'> <label for="'.$input_name.$key.'">'.$value.'</label> ';
}
return implode("\n", $result);
}
if($type == 'radioValue') {
foreach($in_array as $key => $value) {
$result[] = '<input type="radio" name="'.$input_name.'" value="'.$value.'" class="'.$class_name.'" id="'.$input_name.$key.'"'.$tmp_se[$key].'> <label for="'.$input_name.$key.'">'.$value.'</label> ';
}
return implode("\n", $result);
}
if($type == 'checkKey') {
foreach($in_array as $key => $value) {
$result[] = '<input type="checkbox" name="'.$input_name.'[]" value="'.$key.'" class="'.$class_name.'" id="'.$input_name.$key.'"'.$tmp_se[$key].'> <label for="'.$input_name.$key.'">'.$value.'</label> ';
}
return implode("\n", $result);
}
if($type == 'checkValue') {
foreach($in_array as $key => $value) {
$result[] = '<input type="checkbox" name="'.$input_name.'[]" value="'.$value.'" class="'.$class_name.'" id="'.$input_name.$key.'"'.$tmp_se[$key].'> <label for="'.$input_name.$key.'">'.$value.'</label> ';
}
return implode("\n", $result);
}
return false;
}
게시글 목록
| 번호 | 제목 |
|---|---|
| 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 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기