여분필드 체크박스 도와주세요. 채택완료
write.skin.php 스킨
</strong></p>
<p><div class="form-group">
<label class="col-sm-2 control-label" for="wr_4">선택</label>
<div class="col-sm-6"></p>
<p> <?php
$wr4 = explode("|", $write['wr_4']);
?>
<input type="checkbox" name="wr4[0]" value="과자" <?php echo ($wr4[0] == "과자") ? "checked" : "";?>>
<span class="tack-icon bg-darkgray">과자 </span></p>
<p>
<input type="checkbox" name="wr4[1]" value="사탕" <?php echo ($wr4[1] == "사탕") ? "checked" : "";?>>
<span class="tack-icon bg-blue"> 사탕</span></p>
<p> </p>
<p> <input type="checkbox" name="wr4[2]" value="껌" <?php echo ($wr4[2] == "껌") ? "checked" : "";?>>
<span class="tack-icon bg-red"> 껌</span></p>
<p><strong>
... .
-----------------------------------------------------------------------------------------------------------------
write_update.skin.php 만들어서 이안에 아래 코드를 넣엇습니다.
</strong></p>
<p>?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가</p>
<p>
$wr_4 = "$wr4[0] $wr4[1] $wr4[2] $wr4[3] $wr4[4]";
sql_query(" update $write_table set wr_4 = '$wr_4' where wr_id = '$wr_id' ");
?></p>
<p><strong>
-----------------------------------------------------------------------------------------------------------------
체크박스 여분필드인데요.
이걸 뷰페이지에 출려할때 <?=$view[wr_4]?> 이렇게 출력하고 있거든요.
헌데 <span class="tack-icon bg-darkgray"> 이렇게 색을 입혀준 상태로 출력하고 싶은데요.
이건 어떻게 해야할까요? <span class="tack-icon bg-darkgray"> <?=$view[wr_4]?> </span>
이렇게 하면 darkgray 색으로만 나오는데 옵션이 4개인데 4개가 다른색이거든요..
잘모르는 초보라 도움주실분 계실까요.
복스리님의 답변대로
view.skin.php
</strong></p>
<p>$wr4 = explode("|", $view['wr_4']); </p>
<p>if( trim($wr4[0]) !="") echo "<span class='tack-icon bg-색1'> {$wr4[0]} </span>"; // 색1으로 출력됨 </p>
<p>if( trim($wr4[1]) !="") echo "<span class='tack-icon bg-색2'> {$wr4[1]} </span>"; // 색2으로 출력됨 </p>
<p>if( trim($wr4[2]) !="") echo "<span class='tack-icon bg-색3'> {$wr4[2]} </span>"; // 색3으로 출력됨 </p>
<p>if( trim($wr4[3]) !="") echo "<span class='tack-icon bg-색4'> {$wr4[3]} </span>"; // 색4으로 출력됨</p>
<p><strong>
write_update.skin.php
</strong></p>
<p>if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가</p>
<p>$wr_4 = "{$wr4[0]}|{$wr4[1]}|{$wr4[2]}|{$wr4[3]}|{$wr4[4]}"; // | 를 구분자로 사용하여 입력함... sql_query(" update $write_table set wr_4 = '$wr_4' where wr_id = '$wr_id' ");</p>
<p><strong>
이렇게 했지만 아래처럼 출력이되어 버리거든요..

답변 1개
</p>
<p>$colors = array("darkgray", "red", "blue", "yellow");
foreach($wr4 as $k => $v) {
if(trim($wr4[$k]) != "") echo "<span class='tack-icon bg-".$colors[$k]."'>".$wr4[$k]."</span>";
}</p>
<p>
답변에 대한 댓글 17개
그리고 제대로 안 나온다는 게 정확히 어떤 의민지 모르겠네요.
아예 아무 것도 안 나오는지, 개발자 도구로 해서 봤을 때 class 부분이 정상적으로 적용이 안 되는 건지...
이런 경우는 적용한 페이지를 보여 주시는 게 제일 좋습니다.
$colors = array("darkgray", "red", "blue", "yellow"); foreach($wr4 as $k => $v) { if(trim($wr4[$k]) != "") echo "".$wr4[$k].""; }
write_update.skin.php이랑
write.skin.php
view.skin.php 코드 제대로 넣은건 맞는건가요.. ㅠ
완전초보라 알수가 없네요 ..
애초에 질문에 view.skin.php 파일에 대한 질문만 하셔서 답변을 거기에 맞춘 겁니다.
위에 제가 올린 건 view.skin.php 파일에서만 쓸 수 있는 것입니다.
bg-색1 이렇게 된 class는 아닐 테고 색1이라고 된 부분이 영문으로 된 게 있을 테니 그걸 위에 array라고 된 부분에 차례대로 넣으셔야 합니다.
그냥 색과 관계없이
<?=$view[wr_4]?> 하면 체크한값이 전부 한번에 출력되자나요
여분필드 {$wr4[0]} {$wr4[1]} {$wr4[2]} {$wr4[3]} 하나씩 출력할수 있는 방법은 없나요?
print_r($wr4);
이렇게 했을 때 어떻게 나오는지 확인해 보세요.
이건 상단에 쓰신 거죠?
이걸 쓰고도
print_r($wr4);
이게 아무 것도 안 나온다면 wr_4에 값이 없다는 겁니다.
{$wr4[0]} {$wr4[1]} {$wr4[2]} {$wr4[3]} 색과 관계없이 이걸 하나씩 출력하는 코드를 모르겠어요.
뷰페이지에 넣어야할 코드 전부를 알려주실수 있나요.
초보라 모가 잘못된건지를 모르겠네요.
$colors = array("darkgray", "red", "blue", "yellow");
$wr4 = explode("|", $view['wr_4']);
foreach($wr4 as $k => $v) {
if(trim($wr4[$k]) != "") echo "<span class='tack-icon bg-".$colors[$k]."'>".$wr4[$k]."</span>";
}
[/code]
이렇게 하면 일단 값이 있는 애들은 다 나옵니다.
값이 없다면 아무것도 안나와야 되는데 이렇게 출력되네요. ..
뷰페이지 문제가 아닌가요..
<?php
$colors = array("darkgray", "red", "blue", "yellow");
$wr4 = explode("|", $view['wr_4']);
foreach($wr4 as $k => $v) {
if(trim($wr4[$k]) != "") echo "<span class='tack-icon bg-".$colors[$k]."'>".$wr4[$k]."</span>";
}
?>
[/code]
혹시 위아래로 <? ?> 이거 감싸신 거 아닌가요?
잘나오네요 너무너무 감사합니다 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
죄송하지만 저 마지막으로 하나만 더..
분류끼리 닥붙어서 나오는데 한칸씩 띄어서 하려면 어떻해야 할까요?
커피라도 한잔.드세요!
마음만 받도록 하겠습니다. 하하하
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인