여분필드를 이용한 이미지 출력이 가능할까요?
본문
안녕하세요 선배님들! 게시판 커스텀을 하다가 해본적없는 영역이 있어서 찾아보다가 질문드려봅니다ㅠㅠ
해본적이 없어서 설명하기가 조금 어렵네요..
<div class="pro_box">
<span>알레르기정보</span>
<!-- <label for="wr_10" class="sound_only">내용5</label>
<input type="text" name="wr_10" value="<?php echo $wr_10 ?>" id="wr_10" class="frm_input half_input" size="50" placeholder="내용5"> -->
<div class="form_chk_tb">
<div>
<input type="checkbox" name="chk1_opt[]" value="① 난류" id="form_chk1" <?php if(strpos($wr_10, '난류') !== false) echo 'checked'; ?>>
<label for="form_chk1">① 난류</label>
<div class="view"></div>
</div>
<div>
<input type="checkbox" name="chk1_opt[]" value="② 우유" id="form_chk2" <?php if(strpos($wr_10, '우유') !== false) echo 'checked'; ?>>
<label for="form_chk2">② 우유</label>
<div class="view"></div>
</div>
<div>
<input type="checkbox" name="chk1_opt[]" value="③ 메밀" id="form_chk3" <?php if(strpos($wr_10, '메밀') !== false) echo 'checked'; ?>>
<label for="form_chk3">③ 메밀</label>
<div class="view"></div>
</div>
<div>
<input type="checkbox" name="chk1_opt[]" value="④ 땅콩" id="form_chk4" <?php if(strpos($wr_10, '땅콩') !== false) echo 'checked'; ?>>
<label for="form_chk4">④ 땅콩</label>
<div class="view"></div>
</div>
<div>
<input type="checkbox" name="chk1_opt[]" value="⑤ 대두" id="form_chk5" <?php if(strpos($wr_10, '대두') !== false) echo 'checked'; ?>>
<label for="form_chk5">⑤ 대두</label>
<div class="view"></div>
</div>
<div>
<input type="checkbox" name="chk1_opt[]" value="⑥ 밀" id="form_chk6" <?php if(strpos($wr_10, '밀') !== false) echo 'checked'; ?>>
<label for="form_chk6">⑥ 밀</label>
<div class="view"></div>
</div>
<div>
<input type="checkbox" name="chk1_opt[]" value="⑦ 고등어" id="form_chk7" <?php if(strpos($wr_10, '고등어') !== false) echo 'checked'; ?>>
<label for="form_chk7">⑦ 고등어</label>
<div class="view"></div>
</div>
<div>
<input type="checkbox" name="chk1_opt[]" value="⑧ 게" id="form_chk8" <?php if(strpos($wr_10, '게') !== false) echo 'checked'; ?>>
<label for="form_chk8">⑧ 게</label>
<div class="view"></div>
</div>
<div>
<input type="checkbox" name="chk1_opt[]" value="⑨ 새우" id="form_chk9" <?php if(strpos($wr_10, '새우') !== false) echo 'checked'; ?>>
<label for="form_chk9">⑨ 새우</label>
<div class="view"></div>
</div>
<div>
<input type="checkbox" name="chk1_opt[]" value="⑩ 돼지고기" id="form_chk10" <?php if(strpos($wr_10, '돼지고기') !== false) echo 'checked'; ?>>
<label for="form_chk10">⑩ 돼지고기</label>
<div class="view"></div>
</div>
<div>
<input type="checkbox" name="chk1_opt[]" value="⑪ 복숭아" id="form_chk11" <?php if(strpos($wr_10, '복숭아') !== false) echo 'checked'; ?>>
<label for="form_chk11">⑪ 복숭아</label>
<div class="view"></div>
</div>
<div>
<input type="checkbox" name="chk1_opt[]" value="⑫ 토마토" id="form_chk12" <?php if(strpos($wr_10, '토마토') !== false) echo 'checked'; ?>>
<label for="form_chk12">⑫ 토마토</label>
<div class="view"></div>
</div>
<div>
<input type="checkbox" name="chk1_opt[]" value="⑬ 아황산류" id="form_chk13" <?php if(strpos($wr_10, '아황산류') !== false) echo 'checked'; ?>>
<label for="form_chk13">⑬ 아황산류</label>
<div class="view"></div>
</div>
<div>
<input type="checkbox" name="chk1_opt[]" value="⑭ 호두" id="form_chk14" <?php if(strpos($wr_10, '호두') !== false) echo 'checked'; ?>>
<label for="form_chk14">⑭ 호두</label>
<div class="view"></div>
</div>
<div>
<input type="checkbox" name="chk1_opt[]" value="⑮ 닭고기" id="form_chk15" <?php if(strpos($wr_10, '닭고기') !== false) echo 'checked'; ?>>
<label for="form_chk15">⑮ 닭고기</label>
<div class="view"></div>
</div>
<div>
<input type="checkbox" name="chk1_opt[]" value="⑯ 쇠고기" id="form_chk16" <?php if(strpos($wr_10, '쇠고기') !== false) echo 'checked'; ?>>
<label for="form_chk16">⑯ 쇠고기</label>
<div class="view"></div>
</div>
<div>
<input type="checkbox" name="chk1_opt[]" value="⑰ 오징어" id="form_chk17" <?php if(strpos($wr_10, '오징어') !== false) echo 'checked'; ?>>
<label for="form_chk17">⑰ 오징어</label>
<div class="view"></div>
</div>
<div>
<input type="checkbox" name="chk1_opt[]" value="⑱ 조개류(굴,전복,홍합,바지락)" id="form_chk18" <?php if(strpos($wr_10, '조개류(굴,전복,홍합,바지락)') !== false) echo 'checked'; ?>>
<label for="form_chk18">⑱ 조개류(굴,전복,홍합,바지락)</label>
<div class="view"></div>
</div>
<!-- <span>( 복수선택 가능 )</span> -->
</div>
</div>
이렇게 한 여분필드에 복수선택을해서 뷰페이지에서 텍스트를 출력하는 형식인데,
각 항목마다 이미지를 달아줘서 체크한 항목은 뷰페이지에 이미지도 나오게 할 수 있는 방법이 있을까요?
!-->답변 1
아래의 내용을 참고해서 해보시겠어요..
- 글쓰기 페이지
<div class="pro_box">
<span>알레르기정보</span>
<div class="form_chk_tb">
<?php
$options = [
'난류' => 'egg.png',
'우유' => 'milk.png',
'메밀' => 'buckwheat.png',
'땅콩' => 'peanut.png',
'대두' => 'soy.png',
'밀' => 'wheat.png',
'고등어' => 'mackerel.png',
'게' => 'crab.png',
'새우' => 'shrimp.png',
'돼지고기' => 'pork.png',
'복숭아' => 'peach.png',
'토마토' => 'tomato.png',
'아황산류' => 'sulphites.png',
'호두' => 'walnut.png',
'닭고기' => 'chicken.png',
'쇠고기' => 'beef.png',
'오징어' => 'squid.png',
'조개류(굴,전복,홍합,바지락)' => 'shellfish.png',
];
foreach ($options as $option => $image) {
$id = 'form_chk_' . md5($option);
echo '<div>';
echo '<input type="checkbox" name="chk1_opt[]" value="' . $option . '" id="' . $id . '" ' . (strpos($wr_10, $option) !== false ? 'checked' : '') . '>';
echo '<label for="' . $id . '">' . $option . '</label>';
echo '</div>';
}
?>
</div>
</div>
- 뷰페이지
<?php
$options = [
'난류' => 'egg.png',
'우유' => 'milk.png',
'메밀' => 'buckwheat.png',
'땅콩' => 'peanut.png',
'대두' => 'soy.png',
'밀' => 'wheat.png',
'고등어' => 'mackerel.png',
'게' => 'crab.png',
'새우' => 'shrimp.png',
'돼지고기' => 'pork.png',
'복숭아' => 'peach.png',
'토마토' => 'tomato.png',
'아황산류' => 'sulphites.png',
'호두' => 'walnut.png',
'닭고기' => 'chicken.png',
'쇠고기' => 'beef.png',
'오징어' => 'squid.png',
'조개류(굴,전복,홍합,바지락)' => 'shellfish.png',
];
$selected_options = explode(',', $wr_10); // 선택된 옵션을 배열로 변환
foreach ($selected_options as $selected) {
$selected = trim($selected);
if (array_key_exists($selected, $options)) {
$image_path = '/path/to/images/' . $options[$selected]; // 이미지 경로 설정
echo '<div class="selected_option">';
echo '<img src="' . $image_path . '" alt="' . $selected . '">';
echo '<span>' . $selected . '</span>';
echo '</div>';
}
}
?>
$wr_10 필드는 선택된 항목을 저장하고, 이를 기반으로 이미지를 출력합니다.
이미지 경로는 /path/to/images/와 같이 지정할 수 있으며, 이미지는 해당 경로에 저장되어 있어야 합니다.