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

if 문 문의드립니다. 채택완료

웹프로듀서 2년 전 조회 1,463

안녕하세요.

회원 여러분~

write.php에 아래와 같이 넣었는데요.

제목에 'IMPD' 라는 단어가 있으면 wr_1 보이게 할려고 하는데요.

글쓰기에서는 구매옵션 라디오버튼이 나오는데, 수정시에는 안나옵니다.

수정시에도 보이게 할려면 어떻게 해야할까요? 

회원님들의 도움 부탁드립니다.

 

<div class="bo_w_tit write_div">
            <label for="wr_subject" class="sound_only">제목<strong>필수</strong></label>
            <input type="text" name="wr_subject" value="<?php echo ($w == '') ? $wr_subject : $subject;?>" id="wr_subject" required class="frm_input full_input required" placeholder="제목">
        </div>
      
<? if(preg_match("#IMPD#", $wr_subject)) { ?>
        <div style=text-align:left;padding:10px>
         <label for="wr_1" class="sound_only">구매옵션<strong>필수</strong></label>
        <div style=float:left;margin-right:30px;font-weight:bold>구매옵션</div>
            <input type="radio" name="wr_1" id="PCM"  required value="PC+모바일"<?php echo ($write['wr_1'] == "PC+모바일") ? " checked" : "";?>>PC+모바일 &nbsp;
            <input type="radio" name="wr_1" id="PC"  required value="PC만"<?php echo ($write['wr_1'] == "PC만") ? " checked" : "";?>> PC만 &nbsp;
            <input type="radio" name="wr_1" id="M"  required value="모바일만"<?php echo ($write['wr_1'] == "모바일만") ? " checked" : "";?>>모바일만
        
<div class="pcm">470,000원</div>
 <div class="pc">150,000원</div>
<div class="m">150,000원</div>

<script>
$("input:radio[name='wr_1']").on("change", function() {
    switch (this.id) {
        case "PCM":
            $(".pc").hide();
            $(".m").hide();
            $(".pcm").show();
            break;
        case "PC":
            $(".pcm").hide();
            $(".m").hide();
            $(".pc").show();
            break;
             case "M":
            $(".pcm").hide();
            $(".pc").hide();
            $(".m").show();
            break;
        default:
            break;
    }
});
</script>

           </div>
<?}?>

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

답변 5개

채택된 답변
+20 포인트
2년 전

혹시...

</p>

<p><div class="bo_w_tit write_div">

            <label for="wr_subject" class="sound_only">제목<strong>필수</strong></label>

            <input type="text" name="wr_subject" value="<?php echo ($w == '') ? $wr_subject : $subject;?>" id="wr_subject" required class="frm_input full_input required" placeholder="제목">

        </div>

      

<?php

    if(strpos($wr_subject, "IMPD") !== false || strpos($subject, "IMPD") !== false) {  

?>

        <div style=text-align:left;padding:10px>

         <label for="wr_1" class="sound_only">구매옵션<strong>필수</strong></label>

        <div style=float:left;margin-right:30px;font-weight:bold>구매옵션</div>

            <input type="radio" name="wr_1" id="PCM"  required value="PC+모바일"<?php echo ($write['wr_1'] == "PC+모바일") ? " checked" : "";?>>PC+모바일  

            <input type="radio" name="wr_1" id="PC"  required value="PC만"<?php echo ($write['wr_1'] == "PC만") ? " checked" : "";?>> PC만  

            <input type="radio" name="wr_1" id="M"  required value="모바일만"<?php echo ($write['wr_1'] == "모바일만") ? " checked" : "";?>>모바일만

        

<div class="pcm">470,000원</div>

 <div class="pc">150,000원</div>

<div class="m">150,000원</div></p>

<p><script>

$("input:radio[name='wr_1']").on("change", function() {

    switch (this.id) {

        case "PCM":

            $(".pc").hide();

            $(".m").hide();

            $(".pcm").show();

            break;

        case "PC":

            $(".pcm").hide();

            $(".m").hide();

            $(".pc").show();

            break;

             case "M":

            $(".pcm").hide();

            $(".pc").hide();

            $(".m").show();

            break;

        default:

            break;

    }

});

</script></p>

<p>           </div>

<?}?></p>

<p>

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

답변에 대한 댓글 1개

웹프로듀서
2년 전
개노미 님 감사합니다!!
알려주신 코드로 바꾸니 수정시에도 여분필드가 잘 보입니다.
며칠을 고생했는데 덕분에 해결했습니다.
너무 감사드립니다.
꾸벅~

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

<? if(preg_match("#IMPD#", $wr_subject)) { ?>
        <div style=text-align:left;padding:10px>
         <label for="wr_1" class="sound_only">구매옵션<strong>필수</strong></label>
        <div style=float:left;margin-right:30px;font-weight:bold>구매옵션</div>
            <input type="radio" name="wr_1" id="PCM"  required value="PC+모바일"<?php echo ($write['wr_1'] == "PC+모바일") ? " checked" : "";?>>PC+모바일  
            <input type="radio" name="wr_1" id="PC"  required value="PC만"<?php echo ($write['wr_1'] == "PC만") ? " checked" : "";?>> PC만  
            <input type="radio" name="wr_1" id="M"  required value="모바일만"<?php echo ($write['wr_1'] == "모바일만") ? " checked" : "";?>>모바일만

if문 괄혹 짝이 어디 있는지 못 찾겠네요.

 

그리고 라디오 버튼 값을

value="PC+모바일"

대신 a, b, c 이렇게 간결하게 해 보세요.

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

답변에 대한 댓글 1개

웹프로듀서
2년 전
엑스엠엘 님 반갑습니다.
오래전부터 뵙던 id네요.
알려주신 방법으로 시도해보겠습니다.
시간내주셔서 감사드립니다.

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

$wr_subject 안에 IMPD가 적혀있는건 확인해보셨겠지요?

수정일때 값자체를 못불러오는게 아닐까 싶기도 하네요

확실하다면 preg_match에서 못불러오는 항목이 아니지 싶네요

비교방법은 strpos 를 쓰는방법(윗분께서 적어놓으셨기때문에 따로 언급은 안하도록 할게요)

대소문자 구분을 함께 하시려면 strtoupper 문을 참고하시는것도 도움이 되시겠네요

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

답변에 대한 댓글 1개

웹프로듀서
2년 전
스위트알데바란 님 답변 감사드립니다.
현재 a게시판에서 상품을 주문을 클릭하면 해당 제목이 주문게시판인 b게시판으로 넘어오는 방식입니다. 제목은 글쓰기, 수정에서 잘 찍힙니다.
그런데 여분필드 부분이 안찍히네요.
귀한 시간 내주셔서 감사합니다.

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

2년 전

if (preg_match('/\bIMPD\b/', $wr_subject)) { 로 정규식을 바꿔보시고 $wr_subject 값을 한번 체크해보세요.

또는 if (strpos($wr_subject, "IMPD") !== false) { 로도 문자열이 포함되는지 체크하실수 있습니다.

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

답변에 대한 댓글 1개

웹프로듀서
2년 전
블랙캣77 님.
귀한 답변 감사드립니다.
알려주신 방법으로도 수정시 여분필드가 보이지 않네요.
늦은 시간 감사합니다.

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

<?php echo ($w == '') ? '': $write['subject'];?>

제목에 들어가는 값은 이렇게 되야 할 것입니다

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

답변에 대한 댓글 3개

웹프로듀서
2년 전
안녕하세요 설국열차님.
귀한 시간 내셔서 답변주셔서 감사합니다.
적용해봤지만 해법이 아닌 것 같습니다.
설국열차
2년 전
<? if(preg_match("#IMPD#", $write['wr_subject'])) { ?> 

글수정에서 제목에 IMPD 값이 들어가 있으면 내용이 보여지게 됩니다.

<?php echo ($write['wr_1'] == "PC+모바일") ? " checked" : "";?> 값들에도 내용이 들어가 있어야 할 것입니다.
웹프로듀서
2년 전
설국열차 님.
추가 답변 주셔서 감사합니다.
추가 내용도 반응이 없네요.
늦은 시간에 귀한 답변 감사합니다.

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

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

로그인