배열로 라디오 버튼 만들었을때 체크되어 지도록 하는 방법은 어떻게되나요 채택완료
아래와 같이 배열로 라디오 입력 버튼을 만들었을때 1번이 체크되어지도록 하려면 어찌하면 되나요
</p>
<p><?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 } ?></p>
<p>
답변 6개
$cf_sub1 배열이 처음에 저장되지 않은 상태에서 접근 하려고 하면 오류가 발생 하겠지요~
우선 $cf_sub1 배열을 초기화 해주기 위해 아래와 같이 했습니다.
</p>
<p><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배열을 사용하기 전에 초기화 해줍니다.
</p>
<p>$cf_sub1 = array();
for ($i = 0; $i <= 10; $i++) {
if (!empty($_POST['cf_sub1'][$i])) {
$cf_sub1[$i] = $_POST['cf_sub1'][$i];
}
}</p>
<p>$cf_1_subj = implode(',', $cf_sub1);
sql_query("UPDATE {$g5['config_table']} SET cf_1_subj = '$cf_1_subj'");
이렇게 하시면 되지 않을까 합니다.
답변에 대한 댓글 3개
[code]
<?php
$cf_sub100 = array("basic", "basic2", "basic3");
$defaultSkin = "basic"; // 기본 스킨 값
for ($i = 0; $i <= 55; $i++) {
$checked = '';
if ((!empty($cf_sub1[0]) && $cf_sub1[0] == $cf_sub100[$i]) || (empty($cf_sub1[0]) && $defaultSkin == $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 } ?>
[/code]
$defaultSkin 변수를 설정해서 기본 스킨 값을 지정해줍니다. $cf_sub1[0] 값이 비어 있고, $defaultSkin 값이 현재 있는 스킨 값과 일치한다면, 해당 스킨을 선택한 것으로 처리되게 하면 되지 않을까 합니다.
댓글을 작성하려면 로그인이 필요합니다.
엑스엠엘님 1번이 체크 되도록 한다는 의미는
~~~이하 생략~~~~~~~~~
위와 같다면 basic 를 뜻합니다.. 배열의 제일 처음것~~~
이 선택되면 좋을 듯해서요~~
댓글을 작성하려면 로그인이 필요합니다.
엑스엠엘님 답변감사합니다. 앞뒤 내용을 더 올려 보시라길래 아래와 같이 올립니다. 너무 길어서 ~~`죄송합니다
cf_1_subj 을 배열로 쪼개서 이용하기위해 아래와 같이 하였습니다.
작동은 잘 되는데 그누설치하고 처음에 값이 저장이 안된상태에서는 오류메세지가 무수히 뜹니다. input 부분에서 오류내용이 첨부이미지 처름 뜨고요~~
</p>
<p>1단계: bs_custom_cf_sub1.php 파일만들고</p>
<p>2단계: config_form.php 에 아래와 같이 인클루드하고</p>
<p><?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 }?></p>
<p>3단계:config_form_update.php 에 아래와 같이 인클루드하고</p>
<p>include G5_THEME_PATH . '/include/bs_custom/config_form_update_custom.php';
</p>
<p>4단계: bs_custom_cf_sub1.php 의 내용은 아래와 같습니다. 내용이 길어서 처음 일부분만 올립니다.</p>
<p>같은 내용이 반복됩니다.</p>
<p>==========================================</p>
<p><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"></p>
<p> <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></p>
<p> <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></p>
<p> </div></p>
<p>===========================================</p>
<p>5단계: config_form_update_custom.php 내용을 아래와 같이 하였습니다.</p>
<p>(실제는 40개 정도로 쪼갰는데 너무길어 10개로 쪼갠것으로 올립니다)</p>
<p>$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'");</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p>
댓글을 작성하려면 로그인이 필요합니다.
php echo (
Empty( ${$code_name}['0'] ) ||
${$code_name}['0'] == "{$cf_sub200[$i]}") ? " checked" : "";
?>
답변에 대한 댓글 2개
Empty( ${$code_name}['0'] ) ||
${$code_name}['0'] == "{$cf_sub200[$i]}") ? " checked" : "";
?>
내용대로 하니 라디오 선택자 마지막거에 체크가 잘 되네요...
마지막거에 선택되어지는 거 맞지요~~?
아래 내용도 한번 부탁드립니다...
1번이 체크 되도록 하려면 어찌하면 되나요...
==
1번이 무엇인지 잘 이해가 안 갔는데
for($i=0;$i<=1;$i++)에서 $i가 1이라면
<?php echo (
$i==1 ||
${$code_name}['0'] == "{$cf_sub200[$i]}") ? " checked" : "";
?>
이렇게 하면 됩니다만
궁극적으로 원하시는 것은 아니라고 생각 됩니다.
원하시는 것을 간략하게라도 설명을 곁들이면 좋을 듯합니다.
댓글을 작성하려면 로그인이 필요합니다.
베르만님 답변감사합니다.. 님과 같이 하니 잘 되네요..
그런데 [0] ---- > [10]으로 바꾸면 오류가 나네요.... 위처럼 하고 싶은 곳이 여러곳인데.....
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
</p>
<p><?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
}
?></p>
<p>
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
오류 없이 잘 되구~ 업데이트 하는 부분을 간결하게 해 주셔서 대단히 감사합니다~~
그런데 스킨선택부분은 기본 선택이 되어지지 않은 상태로 출력되네요..