다충체크박스 (여분필드사용) 리스트에서 if문구현방법,

다충체크박스 (여분필드사용) 리스트에서 if문구현방법,

QA

다충체크박스 (여분필드사용) 리스트에서 if문구현방법,

답변 2

본문

고수분들께 여쭙니다,


그누스터디 여분필드 다중체크박스 참조
https://gnustudy.com/bbs/board.php?bo_table=skin_board&wr_id=151&sfl=wr_subject%7C%7Cwr_content&stx=%EC%B2%B4%ED%81%AC%EB%B0%95%EC%8A%A4&sop=and

옵션1: 수박  딸기 참외

옵션1 : <?php echo preg_replace("/,/", " ", $view['wr_1']); ?>

----------------------------
 그누보드 QA 답변참조 

https://sir.kr/qa/476416?stx=if%EB%AC%B8&sst=wr_num&sop=and&unanswered=0&unadopted=0&adopted=0&s_tag=

  질문내용 다중체크박스 여러개선택 리설트에
  여러개 출력은 됩니다,

 

 


 저기에서 출력된 결과에 원하는 결과가 있을시 즉,

 
 만약 옵션1에 수박 딸기 참외중,

 수박이 있으면  수박만 나오게,

<?php if($list[$i]['wr_1']==수박) {// 이게 문의 요지입니다, 여러개 결과나오니 같지않으니  수박 딸기 참외니,

echo "수박은 품절입니다";

} else if ($list[$i]['wr_1']==참외) {

echo "참외 는 할인됩니다 " ;

} else{

 

}

?>

 

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

, 여러개 결과나오니 같지않으니  수박 딸기 참외니,

조건식 결과에 여러개 결과에 각각 다른조건으로 다시 분기하려면,

구성식을 어떻게 해야하나요?

 

(여분필드 다중체크박스로 구현 방법)

 

 

 

 

이 질문에 댓글 쓰기 :

답변 2

$wr_1 = explode(",",$list[$i]['wr_1']);

구분자 배열을 처리해서

 

if(in_array("수박", $wr_1)){

  echo "수박은 품절입니다.";

}

 

이런식으로 배열에 포함되는 기준을 체크해서 처리해 주시면 되십니다.

저렇게해서 echo 불러와지지 않습니다,깨저버려요,,'

뷰스킨도 마찮가지고,

 

그누스터디에 두가지 방법이 있는데

( 좀 더 간결한 방법이 추가되었습니다.

http://gnustudy.com/bbs/board.php?bo_table=skin_board&wr_id=177 )

저방법이  array 만 뜨고 뷰페이지으 체크박스 선택 내용이 나오질않아,

종전방법사용했고, 하단처럼 분기됩니다

 상단 방법을

<input type="checkbox" name="check1[]" value="사과"<?php echo in_array("사과", $check1) ? ' checked="checked"' : '' ?>> 사과/    

 

안내 주신거같아요,

현재구현된것은 하단 방법입니다,

 

 

 

 

 

1. write.skin.php

 

쉼표( , ) 를 기준으로 쪼개는 방식입니다. 항목명에 ( , ) 를 절대 넣으면 안 됩니다.

 

<?php
$option1 = explode(",", $write['wr_1']); //옵션1
$option2 = explode(",", $write['wr_2']); //옵션1
?>
옵션1 :
<input type="checkbox" name="option1[0]" value="사과"<?php echo ($option1[0] == "사과") ? " checked" : "";?>> 사과

2. write_update.skin.php

 

쉼표를 포함해서 하나로 합친 후 해당 필드에 다시 넣는 내용입니다.

 

<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
$wr_1 = "$option1[0],$option1[1],$option1[2],$option1[3],$option1[4]"; // 옵션1
$wr_2 = "$option2[0],$option2[1],$option2[2]"; // 옵션2
sql_query(" update $write_table set wr_1 = '$wr_1', wr_2 = '$wr_2' where wr_id = '$wr_id' ");
?>

 

 

3. view.skin.php

 

 

 

 

 

 

 

방법 1 : 체크박스 목록 그대로 출력 (선택한 항목은 체크된 채로 출력됩니다.)

 

317bade3e381699d810c5d83dad93d5f_1538348329_2422.png 

 

<?php
$option1 = explode(",", $view['wr_1']); //옵션1
$option2 = explode(",", $view['wr_2']); //옵션2
?>

 

방법2 : 항목명만 출력

 

317bade3e381699d810c5d83dad93d5f_1538348345_3407.png 

 

옵션1 : <?php echo preg_replace("/,/", " ", $view['wr_1']); ?>
<br>
옵션2 : <?php echo preg_replace("/,/", " ", $view['wr_2']); ?>

 

 

기타 : ul li 로 나열하는 방법

 

<?php
$option1 = explode(',', $view['wr_1']);
for ($i=0; $i<count($option1); $i++) {
    $option1_list = trim($option1[$i]);
    if ($option1_list=='') continue;
    $option_view .= '<li>'.$option1_list.'</li>';
}
?>
<style>
#option_list {}
#option_list:after {display:block;visibility:hidden;clear:both;content:""}
#option_list li {float:left;padding-right:5px}
</style>
<ul id="option_list">
<?php echo $option_view ?>
</ul>

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