배열로 라디오 버튼 만들었을때 체크되어 지도록 하는 방법은 어떻게되나요
본문
아래와 같이 배열로 라디오 입력 버튼을 만들었을때 1번이 체크되어지도록 하려면 어찌하면 되나요
<?php $cf_sub200 = array("1번,"2번");
for($i=0;$i<=1;$i++){?>
<input type="radio" name="<?php echo $code_name?>[0]" value="<?php echo $cf_sub200[$i]?>"<?php echo (${$code_name}['0'] == "{$cf_sub200[$i]}") ? " checked" : "";?>> <?php echo $cf_sub200[$i]?>
<?php } ?>
답변 6
$cf_sub1 배열이 처음에 저장되지 않은 상태에서 접근 하려고 하면 오류가 발생 하겠지요~
우선 $cf_sub1 배열을 초기화 해주기 위해 아래와 같이 했습니다.
<div class="row gx-3">
<div class="py-1 col-xl-12">
<span class="fw-bold">1. 최신글 스킨</span>
<?php
$cf_sub100 = array("basic","basic2","basic3");
for($i = 0; $i <= 55; $i++) {
$checked = '';
if (!empty($cf_sub1[0]) && $cf_sub1[0] == $cf_sub100[$i]) {
$checked = 'checked';
}
?>
<input type="radio" name="<?php echo $code_name?>[0]" value="<?php echo $cf_sub100[$i]?>" <?php echo $checked; ?>>
<?php echo $cf_sub100[$i]; ?>
<?php } ?>
</div>
</div>
<div class="row gx-3 alert alert-success" role="alert">
<div class="py-1 col-xl-1">
<span class="rounded-0 py-2">게시판 ID</span>
</div>
<div class="py-1 col-xl-1">
<input type="text" name="<?php echo $code_name?>[1]" value="<?php echo (!empty($cf_sub1[1])) ? $cf_sub1[1] : '게시판 ID'; ?>" class="form-control rounded-0 form-control-sm border border-secondary" rows="12" size="155">
</div>
<!-- 나머지 필드도 동일하게 처리 -->
</div>
그리고 config_form_update_custom.php 파일에서 $cf_sub1배열을 사용하기 전에 초기화 해줍니다.
$cf_sub1 = array();
for ($i = 0; $i <= 10; $i++) {
if (!empty($_POST['cf_sub1'][$i])) {
$cf_sub1[$i] = $_POST['cf_sub1'][$i];
}
}
$cf_1_subj = implode(',', $cf_sub1);
sql_query("UPDATE {$g5['config_table']} SET cf_1_subj = '$cf_1_subj'");
이렇게 하시면 되지 않을까 합니다.
!-->!-->
<?php
$code_name = 'item';
$item = array('1번');
$cf_sub200 = array("1번","2번");
for ($i = 0, $i_cnt = count($cf_sub200); $i < $i_cnt; $i++) {
?>
<input type="radio" name="<?php echo $code_name?>[0]" value="<?php echo $cf_sub200[$i]?>"<?php echo (${$code_name}['0'] == "{$cf_sub200[$i]}") ? " checked" : "";?>> <?php echo $cf_sub200[$i]?>
<?php
}
?>
베르만님 답변감사합니다.. 님과 같이 하니 잘 되네요..
그런데 [0] ---- > [10]으로 바꾸면 오류가 나네요.... 위처럼 하고 싶은 곳이 여러곳인데.....
<?php echo (
Empty( ${$code_name}['0'] ) ||
${$code_name}['0'] == "{$cf_sub200[$i]}") ? " checked" : "";
?>
엑스엠엘님 답변감사합니다. 앞뒤 내용을 더 올려 보시라길래 아래와 같이 올립니다. 너무 길어서 ~~`죄송합니다
cf_1_subj 을 배열로 쪼개서 이용하기위해 아래와 같이 하였습니다.
작동은 잘 되는데 그누설치하고 처음에 값이 저장이 안된상태에서는 오류메세지가 무수히 뜹니다. input 부분에서 오류내용이 첨부이미지 처름 뜨고요~~
1단계: bs_custom_cf_sub1.php 파일만들고
2단계: config_form.php 에 아래와 같이 인클루드하고
<?php $cf_sub1 = explode(",",$config['cf_1_subj']); {
$code_name = "cf_sub1"; ?>
<?php include G5_THEME_PATH . '/include/bs_custom/bs_custom_cf_sub1.php'; ?>
<?php }?>
3단계:config_form_update.php 에 아래와 같이 인클루드하고
include G5_THEME_PATH . '/include/bs_custom/config_form_update_custom.php';
4단계: bs_custom_cf_sub1.php 의 내용은 아래와 같습니다. 내용이 길어서 처음 일부분만 올립니다.
같은 내용이 반복됩니다.
==========================================
<div class="row gx-3">
<div class="py-1 col-xl-12">
<span class="fw-bold">1.최신글스킨</span>
<?php $cf_sub100 = array("basic","basic2","basic3");
for($i=0;$i<=55;$i++){?>
<input type="radio" name="<?php echo $code_name?>[0]" value="<?php echo $cf_sub100[$i]?>"<?php echo (${$code_name}['0'] == "{$cf_sub100[$i]}") ? " checked" : "";?>> <?php echo $cf_sub100[$i]?>
<?php } ?>
</div>
</div>
<div class="row gx-3 alert alert-success" role="alert">
<div class="py-1 col-xl-1">
<span class="rounded-0 py-2">게시판id</span>
</div>
<div class="py-1 col-xl-1">
<input type="text" name="<?php echo $code_name?>[1]" value="<?php if(empty($cf_sub1[1])) echo "게시판id";else echo $cf_sub1[1];?>"class="form-control rounded-0 form-control-sm border border-secondary" rows=12 size="155" >
</div>
<div class="py-1 col-xl-1">
<span class="rounded-0 py-2 badge-size text_xs">글개수</span>
</div>
<div class="py-1 col-xl-1">
<input type="text" name="<?php echo $code_name?>[2]" value="<?php if(empty($cf_sub1[2])) echo "글개수";else echo $cf_sub1[2];?>"class="form-control rounded-0 form-control-sm border border-secondary" size="5" >
</div>
<div class="py-1 col-xl-1">
<span class="rounded-0 py-2 badge-size text_xs">제목길이</span>
</div>
<div class="py-1 col-xl-1">
<input type="text" name="<?php echo $code_name?>[3]" value="<?php if(empty($cf_sub1[3])) echo "제목길이";else echo $cf_sub1[3];?>"class="form-control rounded-0 form-control-sm border border-secondary" size="5" >
</div>
<div class="py-1 col-xl-1">
<span class="rounded-0 py-2 badge-size text_xs">본문길이</span>
</div>
<div class="py-1 col-xl-1">
<input type="text" name="<?php echo $code_name?>[4]" value="<?php if(empty($cf_sub1[4])) echo "본문길이";else echo $cf_sub1[4];?>"class="form-control rounded-0 form-control-sm border border-secondary" size="5" >
</div>
<div class="py-1 col-xl-3">
<span class="fw-bold">출력$cf_sub1[6]</span>
<?php $cf_sub101 = array("header","index","right","top","bottom");
for($i=0;$i<=4;$i++){?>
<input type="radio" name="<?php echo $code_name?>[5]" value="<?php echo $cf_sub101[$i]?>"<?php echo (${$code_name}['5'] == "{$cf_sub101[$i]}") ? " checked" : "";?>> <?php echo $cf_sub101[$i]?>
<?php } ?>
</div>
<div class="py-1 col-xl-1">
<span class="fw-bold">출력$cf_sub1[1]</span>
<?php $cf_sub102 = array("yes","no");
for($i=0;$i<=1;$i++){?>
<input type="radio" name="<?php echo $code_name?>[6]" value="<?php echo $cf_sub102[$i]?>"<?php echo (${$code_name}['6'] == "{$cf_sub102[$i]}") ? " checked" : "";?>> <?php echo $cf_sub102[$i]?>
<?php } ?>
</div>
</div>
===========================================
5단계: config_form_update_custom.php 내용을 아래와 같이 하였습니다.
(실제는 40개 정도로 쪼갰는데 너무길어 10개로 쪼갠것으로 올립니다)
$cf_1_subj = "$cf_sub1[0],$cf_sub1[1],$cf_sub1[2],$cf_sub1[3],$cf_sub1[4],$cf_sub1[5],$cf_sub1[6],$cf_sub1[7],$cf_sub1[8],$cf_sub1[9],$cf_sub1[10]";
sql_query(" update {$g5['config_table']} set cf_1_subj = '$cf_1_subj'");
엑스엠엘님 1번이 체크 되도록 한다는 의미는
<?php $cf_sub100 = array("basic","basic2","basic3");
~~~이하 생략~~~~~~~~~
위와 같다면 basic 를 뜻합니다.. 배열의 제일 처음것~~~
이 선택되면 좋을 듯해서요~~
답변을 작성하시기 전에 로그인 해주세요.