글쓸때 select박스

글쓸때 select박스

QA

글쓸때 select박스

답변 8

본문

글쓸때 seclect박스에

종류가 5개있다고 치면

 

자동으로

5개 다체크되어있게하는 방법 없나요

                   <?php $ex_1 = explode("|",$write['wr_9']);?>
                            <label for="ex1_00" class="css-label-red yap ">
                                        <input type="checkbox" name="ex1_00" value="사과" <?php echo ($ex_1[0] == "사과") ? "checked" : "";?>>
                                  사과
                            </label>         

이 질문에 댓글 쓰기 :

답변 8

<?php echo ($ex_1[0] == "사과") ? "checked" : "";?>>

이 부분을

<?php echo ($ex_1[0] == "사과" || $ex_1[0] == "") ? "checked" : "";?>>

이런식으로 값이 없을때도 체크 되도록 하면 되지 않을까요?

mins님추가로질문하자면
<?php echo str_replace("|", ",", $view['wr_9']);?>


에 체크박스 종류를 불러왔는데
1.사과 2.오렌지 3.포도가있을경우
사과 ,포도를 선택했을때

사과,포도만 나오게 하고싶은데
꼭 중간에 사과,오렌지포도
이렇게 , 이것의 표시가 자꾸나와요 ㅠㅠㅠ
<?php echo str_replace("|", " ", $view['wr_9']);?>
종류의 순서중 중간에 하나가 없어져도
, 이표시로 자연스럽게 연결되고싶은데
자꾸 빈자리에 , 이마크가 뜨네요..ㅠㅠ

당연히 값이 없으니까 중간에 배열이 비어서 없는겁니다.

체크박스 배열을 다시 생성해야할듯 합니다.

 

<?php echo ($ex_1[0] == "사과") ? "checked" : "";?>

예를들어 ex_1[0]이 사과에 체크가 되있다고 가정하는데

문제는 사과를 체크안하고 오렌지를 체크하면

오렌지가 $ex_1[0]에 들어가기 때문에 체크가 안되죠.

그렇다면 차라리

checkbox 이름을 계별적으로 주시면 될듯 한데요.

 <input type="checkbox" name="ex1_1" value="사과"

 <input type="checkbox" name="ex1_2" value="배"

 <input type="checkbox" name="ex1_3" value="오렌지"

그리고 받는 페이지에선

$ex1 = $ex1_1."|".$ex1_2."|".$ex1_3;

이렇게 받으시면 됩니다.

질문이 모호해요

 

SELECT box <--- 이것과

input 태그의 Checkbox는 서로 완전히 다릅니다.

 

그리고 ,

 

5개를 다 나오고 체크하게 하고 싶다 하셨는데

 

아래질문은

1.사과 2.오렌지 3.포도가있을경우 
사과 ,포도를 선택했을때 

사과,포도만 나오게 하고싶은데 

 

라고하셨네요

 

원하시는게 뭘까요?

 

$view[wr_9] 에는  "사과|오렌지|포도||" 

가 들어있나요?

 

$ex_1 = explode("|",$view[wr_9]);

 수행후

<?php echo ($ex_1[0] == "사과") ? "checked" : "";?>>

자기값을 자기와 비교?? 

 

값이 존재하면 checkbox를 표기 하고 싶으신거면

 

 

$ex_1 = explode("|",$view[wr_9]);

$i = 0;

foreach($ex_1 => $val) {

   $na = sprntf("%2d", $i);

    echo "<input type='checkbox' name='ex1_'.$na value='".$val."' checked />".$val;

}

 

와 같이 변경해서 한번해보세요

 

 

원하는 질문은 2가지였습니다.
1.write에서 체크박스로 5개가 있다고 가정했을경우 글쓰기시 자동으로 5개 체크적용되있게 하는법

2.write에서 체크박스 예를들어 1,4,5 세개만선택시
view,list에서 2,3번 공란이 자꾸 자리가 채워져서 | 으로 공간을 메움
따라서 2,3 미선택시에도 자연스럽게 1,4,5 쉼표처리로 나오도록

사과,배,오렌지,키위,귤....5개일때..

$ex_1 = explode("|", $view[wr_9]);

 

저장이 "사과|키위|귤" <-- 형식으로 된다면..

<?php echo in_array("사과",$ex_1) ? "checked" : "";?>

 

저장이 "사과|||키위|귤" <-- 형식으로 된다면.

<?php echo ($ex_1[0] == "사과") ? "checked" : "";?>

 

 

 


 

저장이 "사과|||키위|귤" <-- 형식으로 된다면.
<?php echo ($ex_1[0] == "사과") ? "checked" : "";?>

이렇게뜹니다..
현재 그렇게 코딩되어있구요 ㅠㅠ
view, list에서 어케 공란의 | 이것없이 들어가게할수잇나요

$ex_1 = explode("|", $view[wr_9]); <-- 은 하신거 맞죠??

 

그럼

 

print_r($ex_1);  으로 찍어보세요;;

혹시나 해서 확인하자면..;;

 

<?php echo str_replace("|", ",", $view['wr_9']);?>  <-- 이거만 하시고 

explode 안하신건가요??;;

 

$ex_1 = explode("|", $view[wr_9]);  <-- 이거요.. 안하신거라면.;;

 

<?php echo str_replace("|", ",", $view['wr_9']);?> 대신..

 

$ex_1 = explode("|", $view[wr_9]);   를 넣으세요;;

 


write.skin.php
$items = array("사과", "딸기", "배", "수박", "참외");
$wr9 = explode("|", $write['wr_9']);
foreach($items as $k) {
    if($w == "u") {
        $checked = in_array($k, $wr9) ? " checked" : "";
        echo "<input type='checkbox' name='wr9[]' value='".$k."'".$checked." />";
    } else {
        echo "<input type='checkbox' name='wr9[]' value='".$k."' checked />";
    }
}
 
write_update.skin.php
$wr9 = implode("|", $_POST['wr9']);
sql_query("UPDATE ".$write_table." SET wr_9 = '".$wr9."' WHERE wr_id = ".$wr_id);

질문 내용이 상당히 알 수 없게 되어 있네요.

댓글 보고 대충 유추를 하면 글을 쓸 때만 모든 체크박스가 다 체크되어 있고 수정 시에는 사용자가 체크한 것만 체크되면 되는 건가요?

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
  • 질문이 없습니다.
전체 0
© SIRSOFT
현재 페이지 제일 처음으로