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

여분필드 체크박스 이미지 저장 방법? 채택완료

초비입니다 1년 전 조회 10,238

안녕하세요 질문좀 드리겠습니다.

 

 

예를들어 게시판 글쓰기에서

여분필드를 사용해 체크박스를 만들고 

1. 사자

2. 호랑이

3.기린 

 

이렇게 이미지들을 저장하고 

체크박스 클릭하면 뷰페이지에 이미지를 노출 시키고 싶은데

 

관련 링크나 정보좀 알고 싶습니다

 

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

답변 3개

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

* [스킨 디렉토리]/write.skin.php

</p>

<p><input type="checkbox" name="wr_8[]" value="lion"> 사자


<input type="checkbox" name="wr_8[]" value="tiger"> 호랑이


<input type="checkbox" name="wr_8[]" value="giraffe"> 기린</p>

<p>

 

* [스킨 디렉토리]/write_update.head.skin.php

</p>

<p><?php

if (!defined("_GNUBOARD_")) exit;</p>

<p>$wr_8 = implode(',', $wr_8);</p>

<p>

 

* [스킨 디렉토리]/view.skin.php

</p>

<p>$checked_items = explode(",", $view['wr_8']);</p>

<p>~</p>

<p>

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

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

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

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

1년 전

아래의 코드를 참고해보세요..

 

1. write.skin.php

<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

// 기존 코드 ...

// 여분 필드 체크박스 추가
?>
<div>
    <label>선택 항목:</label><br>
    <input type="checkbox" name="wr_1[]" value="lion"> 사자<br>
    <input type="checkbox" name="wr_1[]" value="tiger"> 호랑이<br>
    <input type="checkbox" name="wr_1[]" value="giraffe"> 기린
</div>

<?php
// 기존 코드 ...
?>
 

2. write_update.php

<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

// 기존 코드 ...

// 여분 필드 데이터 저장 처리
if (isset($_POST['wr_1'])) {
    $wr_1 = implode(",", $_POST['wr_1']);
} else {
    $wr_1 = '';
}

// 기존 여분 필드 저장 코드에 추가
$sql = "INSERT INTO {$write_table} (wr_1, ...) VALUES ('$wr_1', ...)";
sql_query($sql);

// 기존 코드 ...
?>
 

3.  view.skin.php

<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

// 기존 코드 ...

// 여분 필드 데이터 가져오기
$checked_items = explode(",", $view['wr_1']);

// 이미지 경로 설정
$images = [
    "lion" => "path/to/lion.jpg",
    "tiger" => "path/to/tiger.jpg",
    "giraffe" => "path/to/giraffe.jpg",
];
?>

<div>
    <h3>선택된 항목:</h3>
    <?php foreach ($checked_items as $item): ?>
        <?php if (array_key_exists($item, $images)): ?>
            <img src="<?= $images[$item] ?>" alt="<?= $item ?>">
        <?php endif; ?>
    <?php endforeach; ?>
</div>

<?php
// 기존 코드 ...
?>
 

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

답변에 대한 댓글 1개

초비입니다
1년 전
아래와 같이 적용했는데 저장시 값이 저장이 안되는데 다른이유가 있을까요 ㅠ?

write_update.php
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

// 기존 코드 ...

// 여분 필드 데이터 저장 처리
if (isset($_POST['wr_8'])) {
$wr_8 = implode(",", $_POST['wr_8']);
} else {
$wr_8 = '';
}

// 기존 여분 필드 저장 코드에 추가
$sql = "INSERT INTO {$write_table} (wr_8, ...) VALUES ('$wr_8', ...)";
sql_query($sql);

// 기존 코드 ...
?>


view.skin.php
// 여분 필드 데이터 가져오기
$checked_items = explode(",", $view['wr_8']);

// 이미지 경로 설정
$images = [
"lion" => "/img/150.png",
"tiger" => "path/to/tiger.jpg",
"giraffe" => "path/to/giraffe.jpg",
];
?>


write.skin.php
<label>선택 항목:</label><br>
<input type="checkbox" name="wr_8[]" value="lion"> 사자<br>
<input type="checkbox" name="wr_8[]" value="tiger"> 호랑이<br>
<input type="checkbox" name="wr_8[]" value="giraffe"> 기린

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

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

로그인