여분필드 체크박스 도와주세요.

여분필드 체크박스 도와주세요.

QA

여분필드 체크박스 도와주세요.

본문

write.skin.php 스킨

 

<div class="form-group">
    <label class="col-sm-2 control-label" for="wr_4">선택</label>
    <div class="col-sm-6">
  <?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>

        <input type="checkbox" name="wr4[1]" value="사탕" <?php echo ($wr4[1] == "사탕") ? "checked" : "";?>>
        <span class="tack-icon bg-blue"> 사탕</span>
 
        <input type="checkbox" name="wr4[2]" value="껌" <?php echo ($wr4[2] == "껌") ? "checked" : "";?>>
        <span class="tack-icon bg-red"> 껌</span>
 

... .

 

-----------------------------------------------------------------------------------------------------------------

write_update.skin.php 만들어서 이안에 아래 코드를 넣엇습니다.


?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

$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' ");
?>

-----------------------------------------------------------------------------------------------------------------

체크박스 여분필드인데요.

이걸 뷰페이지에 출려할때 <?=$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


$wr4 = explode("|", $view['wr_4']);  
if( trim($wr4[0]) !="")    echo "<span class='tack-icon bg-색1'> {$wr4[0]} </span>";  // 색1으로 출력됨  
if( trim($wr4[1]) !="")    echo "<span class='tack-icon bg-색2'> {$wr4[1]} </span>";  // 색2으로 출력됨  
if( trim($wr4[2]) !="")    echo "<span class='tack-icon bg-색3'> {$wr4[2]} </span>";  // 색3으로 출력됨  
if( trim($wr4[3]) !="")    echo "<span class='tack-icon bg-색4'> {$wr4[3]} </span>";  // 색4으로 출력됨
 

 

write_update.skin.php


if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
$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' ");
 

 

 

이렇게 했지만 아래처럼 출력이되어 버리거든요..

1925820036_1530634808.7712.jpg

이 질문에 댓글 쓰기 :

답변 1


$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>";
}

제가 남긴 건 view.skin.php에 적용하셔야 합니다.
그리고 제대로 안 나온다는 게 정확히 어떤 의민지 모르겠네요.
아예 아무 것도 안 나오는지, 개발자 도구로 해서 봤을 때 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  코드 제대로 넣은건 맞는건가요.. ㅠ

완전초보라 알수가 없네요 ..

write_update.skin.php 파일엔 저걸 넣으시면 안 됩니다.
애초에 질문에 view.skin.php 파일에 대한 질문만 하셔서 답변을 거기에 맞춘 겁니다.
위에 제가 올린 건 view.skin.php 파일에서만 쓸 수 있는 것입니다.
bg-색1 이렇게 된 class는 아닐 테고 색1이라고 된 부분이 영문으로 된 게 있을 테니 그걸 위에 array라고 된 부분에 차례대로 넣으셔야 합니다.

네 그대로 했습니다. 여전히 안되네요 .

그냥 색과 관계없이

<?=$view[wr_4]?> 하면 체크한값이 전부 한번에 출력되자나요

여분필드 {$wr4[0]} {$wr4[1]} {$wr4[2]} {$wr4[3]}  하나씩 출력할수 있는 방법은 없나요?

<?=$view[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>";
}

이렇게 하면 일단 값이 있는 애들은 다 나옵니다.

$colors = array("darkgray", "red", "blue", "yellow"); $wr4 = explode("|", $view['wr_4']); foreach($wr4 as $k => $v) { if(trim($wr4[$k]) != "") echo "".$wr4[$k].""; }

값이 없다면 아무것도 안나와야 되는데 이렇게 출력되네요. ..

뷰페이지 문제가 아닌가요..


<?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>";
}
?>

혹시 위아래로 <? ?> 이거 감싸신 거 아닌가요?

.... ........ 죄송합니다. ㅜㅜㅜ...... 살려주세요... 몇일동안 끙끙대고 답변만 기다렸어요..ㅜㅜㅜㅜㅜ

잘나오네요 너무너무 감사합니다 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ



죄송하지만 저 마지막으로 하나만 더..

분류끼리 닥붙어서 나오는데 한칸씩 띄어서 하려면 어떻해야 할까요?

답변을 작성하시기 전에 로그인 해주세요.
전체 29
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT