if 문 문의드립니다.
본문
안녕하세요.
회원 여러분~
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+모바일
<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>
<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
혹시...
<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>
<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>
<?}?>
<?php echo ($w == '') ? '': $write['subject'];?>
제목에 들어가는 값은 이렇게 되야 할 것입니다
if (preg_match('/\bIMPD\b/', $wr_subject)) { 로 정규식을 바꿔보시고 $wr_subject 값을 한번 체크해보세요.
또는 if (strpos($wr_subject, "IMPD") !== false) { 로도 문자열이 포함되는지 체크하실수 있습니다.
$wr_subject 안에 IMPD가 적혀있는건 확인해보셨겠지요?
수정일때 값자체를 못불러오는게 아닐까 싶기도 하네요
확실하다면 preg_match에서 못불러오는 항목이 아니지 싶네요
비교방법은 strpos 를 쓰는방법(윗분께서 적어놓으셨기때문에 따로 언급은 안하도록 할게요)
대소문자 구분을 함께 하시려면 strtoupper 문을 참고하시는것도 도움이 되시겠네요
<? 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 이렇게 간결하게 해 보세요.