테스트 사이트 - 개발 중인 베타 버전입니다

글쓸때 select박스 채택완료

호딸붐 7년 전 조회 5,275

글쓸때 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개

</p>

<p>write.skin.php</p>

<p>$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 />";

    }

}</p>

<p> </p>

<p>write_update.skin.php</p>

<p>$wr9 = implode("|", $_POST['wr9']);</p>

<p>sql_query("UPDATE ".$write_table." SET wr_9 = '".$wr9."' WHERE wr_id = ".$wr_id);</p>

<p>

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

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

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

7년 전

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

 

<?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]);   를 넣으세요;;

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

7년 전

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

 

그럼

 

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

호딸붐
7년 전
제가 소스적용법을 잘몰라서그러는데
view스킨에 어느위치에 어케 넣어야될련지요 ㅠㅠ죄송하비낟.

댓글을 작성하려면 로그인이 필요합니다.

7년 전

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

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

 

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

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

 

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

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

 

 

 


 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

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

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

댓글을 작성하려면 로그인이 필요합니다.

플래토
7년 전

질문이 모호해요

 

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개

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

2.write에서 체크박스 예를들어 1,4,5 세개만선택시
view,list에서 2,3번 공란이 자꾸 자리가 채워져서 | 으로 공간을 메움
따라서 2,3 미선택시에도 자연스럽게 1,4,5 쉼표처리로 나오도록
플래토
7년 전
입력시 체크안된건 넣지않으시면 될듯한데요

댓글을 작성하려면 로그인이 필요합니다.

M
7년 전

그렇다면 차라리

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;

이렇게 받으시면 됩니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

그누위즈

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

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

 

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

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

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

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

호딸붐
7년 전
어케 수정해야되나여?ㅠㅠㅠㅠ
그누위즈
7년 전
보통은 foreach 문으로 처리합니다.

댓글을 작성하려면 로그인이 필요합니다.

M
7년 전

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

이 부분을

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

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

호딸붐
7년 전
안되네용
ㅜㅜ
호딸붐
7년 전
mins님추가로질문하자면
<?php echo str_replace("|", ",", $view['wr_9']);?>


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

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

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인